您对Entity Framework有什么问题?

时间:2009-07-20 17:16:39

标签: entity-framework

我们在2个项目中使用了Entity Framework,这些项目都有100个表。

我们的经验主要是积极的。与使用企业库和存储过程相比,我们已经获得了很大的生产力提升。

但是,当我建议在stackoverflow上使用EF时,我经常会收到负面评论。

在消极方面,我们发现某些功能存在陡峭的学习曲线。

最后,问题是:人们对EF有什么问题,为什么他们更喜欢其他ORMS?

4 个答案:

答案 0 :(得分:4)

和你一样,我对EF的体验大多是积极的。我遇到的最大问题是非常复杂的查询可能需要很长时间才能编译。视觉设计师也比框架本身更不稳定,功能更少。我希望框架将GeneratedCode属性放在它生成的代码上。

答案 1 :(得分:4)

我最近使用EF并且有相对较好的使用体验。我也看到围绕EF的很多负面反馈,考虑到它所提供的一切,我认为这是不幸的。

让我感到惊讶的一个问题是两种获取数据策略之间的性能差异。最初,我认为执行热切加载会更有效率,因为它会通过单个查询提取数据。在这种情况下,数据是一个订单,我正在对5-8个相关表进行急切加载。在开发过程中,我们发现此查询非常慢。使用SQL事件探查器,我们查看了流量并分析了生成的查询。生成的SQL语句非常庞大,SQL Server似乎并不喜欢它。

为了解决这个问题,我恢复了延迟加载/按需模式,这导致了对服务器的更多查询,但性能得到了显着提升。这不是我最初的预期。我的外卖,恕我直言,适用于所有数据访问实现,我真的需要对数据访问进行性能测试。无论我是使用ORM还是SQL过程或参数化SQL等,都是如此。

答案 2 :(得分:1)

我也使用了Entity Framework,并发现了以下缺点:

  1. 我无法使用对我来说非常必要的Oracle。
  2. 实体框架的模型设计器。在更新模型期间,数据库存储部分也会重新生成。非常不舒服。

答案 3 :(得分:0)

在实体框架中不支持触发器而不是触发器。