我们使用EF和.Net 4.5开始了一个新的ASP.NET MVC项目。最初的计划是首先使用代码来创建数据库,但这似乎有点过于复杂,可能主要是因为我们所有人都熟悉数据库设计,而且在SQL中执行所有操作似乎更容易,更快。
所以现在我们使用EF来简单地为表,视图和函数创建映射器。存储过程实际上并不想自动为我们工作,因此我们使用SqlCommand
手动调用这些程序。现在,复杂的连接字符串和需要在其中引用的所有XML文件有时会出现问题。 (至少在我们使用自动创建的连接字符串时引用它们。)
长话短说 - EF有许多功能,我们可能只使用一只手。我们可能会对Linq2Sql感到高兴。但是那个已经过时了,几个月前我读了一些可怕的帖子,当你想在Azure中启动应用程序时,数据库连接可能会中断,EF(从版本5或6版本)非常棒,并自动更新它们。 / p>
这是真的吗?EF是azure唯一可用的ORM映射器?我们可以以某种方式停用我们不使用的所有功能,使其像Linq2Sql一样简单,我们是否应该直接使用Linq2Sql,即使它已经过时,或者只是学会处理所有这些功能?或者是使用NHibernate的答案(它似乎有一个更直接的XML配置文件,但没有与Visual Studio简单集成来创建所有必需的类)?
更新 我们首先放弃代码优先和反向工程代码的另一个原因是,我们错过了为SQL Server存储函数创建包装函数的简单方法。数据库首次使用EF(因为我们使用它)
提供此功能