关于实体框架的思考

时间:2008-12-08 02:54:06

标签: sql .net entity-framework linq-to-sql

我想知道人们对通过LINQ-to-SQL支持实体框架的决定的看法?我有一个我最初在LINQ-to-SQL中开发的应用程序。我发现它是我们应用的完美解决方案。

在尝试移植到实体框架时,我感到非常惊讶。恕我直言,甚至没有准备好迎接黄金时段。没有延迟加载,没有POCO,对继承的可怕依赖。我发现它在我的情况下基本上无法使用,而是决定坚持使用LINQ-to-SQL,直到这个实体框架可以得到更多的优化。

其他人有类似的经历吗?

5 个答案:

答案 0 :(得分:4)

这几乎是我的看法。请参阅我之前的回复here。另一个问题并不是关于EF中的问题,而是答案:它有一些问题。例如(除现有选项外):

  • 不支持Expression.Invoke(重复使用表达式树形成更复杂的表达式)
  • 不支持table-UDF,它可用于在数据库中创建仍然可以使用sort / skip / take等组合的定义良好,可调用的方法

LINQ-to-SQL处理两者都很好......

答案 1 :(得分:2)

我认为这取决于应用程序平台。当我的团队开始创建一个新的ASP.net应用程序时,我们想要使用EF ...但是在使用它之后,我们选择了Linq-To-SQL。在Web环境中,管理L2S datacontext要容易得多。此外,我们喜欢L2S实体公开原始Id字段(例如EmployeeTypeId),与EF不同,EF只暴露子实体。在Web环境中,很多时候你真的不需要额外的信息,Id就足够了,因为它是对已加载(可能已缓存)的下拉列表的引用。

答案 2 :(得分:1)

L2S对于它的成就更为成熟。

我仍然会将EF视为BETA的发布。

围绕EF有很多讨论,你可以在相关问题中找到更多。

答案 3 :(得分:1)

我同意。 Entity Framework v1(.net 3.5 SP1版本)中存在太多错误和设计缺陷,使其可用于实际开发。虽然EFv4看起来更有前途......

答案 4 :(得分:1)

我听说L2S正在快速走向渡渡鸟的道路。关于转向开源的问题有一点点喋喋不休 - 但微软的ADO.NET团队正计划将所有努力推向EF ......

太伤心,因为我发现LINQ2SQL非常易于使用和移植我的所有代码的想法让我有点恶心。

Update on LINQ to SQL and LINQ to Entities Roadmap