¿Es aconsejable escribir una aplicación bancaria / fintech utilizando MS SQL y el marco Entity?

Absolutamente

  • Entity Framework, ahora en 6.x para el. El marco completo neto (frente al núcleo neto) ha mejorado mucho desde los días de EF 1.x.
  • De hecho, recomiendo el primer modelo de código de Entity Framework 6, donde su modelo de dominio limpio también es su modelo de datos.
  • EF le ahorrará el 100% de la gestión de procedimientos almacenados (difícil de escribir, difícil de realizar pruebas unitarias, necesita un ecosistema de implementación separado, requiere una tediosa capa de datos, etc.)
  • EF 6 también es 100% comprobable en la capa de datos. Esto es enorme El DbContext ahora se puede burlar fácilmente usando un único método auxiliar, para configurar su propia lista de objetos para que actúen como las filas de la tabla.
  • Definitivamente, también podría usar EF Core 1.0, que necesita estar en el ecosistema .Net core. Si tu ya lo son, genial. Si no lo eres, EF 6 sigue siendo muy bueno.
  • Y agnóstico de EF o MS Sql Server, siempre diseñe su capa de datos con una interfaz. P.ej

interfaz pública IAccountDataManager
{
AccountSummary GetAccountSummary (int accoundId);
}

  • Y la clase concreta oculta la tecnología EF utilizada para obtener estos datos.
  • Mira lo simple y C # y las consultas son.
  • Su código de llamada siempre funciona con la interfaz.
  • No podría importarle menos la tecnología de datos o la base de datos.

clase pública AccountDataManager: IAccountDataManager
{
public AccountSummary GetAccountSummary (int accoundId)
{
// usa dbcontext para hacer tu trabajo
return context.AccountSummaries (ac => ac.AccountId == accountId) .FirstOrDefault ();
}
}

Sí. El marco de entidades hará que tu vida sea súper fácil. La depuración e incorporación de cambios en la lógica de negocios en los procedimientos almacenados siempre es dolorosa. Si está considerando el marco de la entidad, se recomienda EF Core en lugar de EF 6, ya que es mucho más rápido. También está escrito desde cero para admitir todos los sistemas operativos. Estoy usando EF Core con la base de datos Postgresql y con un gran rendimiento.