有什么替代ADO.net& EFW?

时间:2018-05-26 07:55:25

标签: entity-framework ado.net

我主要在ADO.net和EFW上工作过一段时间。 我将开始研究一个新项目,并对选择数据库层感到困惑。 我已经阅读了一些有关ADO.net和EFW性能的文章。 EFW比ADO慢。所以,我想为我的项目选择最好的一个。我知道,ADO.net实现需要编写更多代码。 所以,我正在寻找更多的性能和更少的编码。 如果存在,请建议我替代ADO.net和EFW,如果没有,请建议他们之间最好的一个。

关于项目的信息很少:

项目描述:它将成为单页面应用程序,并且将在日期为用户保存数据。需要获取所选日期的数据。

IDE:VS2017 框架:框架的最新版本。 数据库:MS Sqlserver 2014 服务层:WebAPi UI:带有打字稿的Angular 6。

先谢谢。

1 个答案:

答案 0 :(得分:2)

选择最佳选择取决于手头的项目。

如果你有一个复杂的域模型,像Entity Framework或NHibernate这样的完整的O / R映射器可能是个不错的选择。实体框架和NHibernate带来了陡峭的学习曲线。如果你想拥有一个高性能的应用程序,使用这样的工具还需要你知道幕后发生了什么。

还有微型O / R映射器,如Dapper,PetaPoco等......它们也有其用例。 (我相信Stackoverflow使用Dapper)。

如果你自己完全控制,那么你将不得不放弃O / R工具(无论是全屏还是微观)提供的抽象层。然后你自己使用普通的ADO.NET。 (O / R工具在后台使用ADO.NET)。直接使用ADO.NET将为您提供更多工作。无论哪种方式,您都将直接使用它,这将使您难以维护,或者您自己创建一个小数据访问层作为抽象层,以获得更易读的代码。

这完全取决于您,但我建议直接使用ADO.NET的情况非常小。
如果你不需要一个完整的O / R映射器,我会看一下可用于.NET的微型ORM