实体框架的最重要限制

时间:2010-10-26 22:44:58

标签: entity-framework architecture

业务应用程序开发人员应该了解ADO.NET Entity Framework 4.0最重要的限制是什么?

我在我的一些宠物项目中使用它并且看起来非常有效,但我担心在构建大型,更复杂的数据驱动的业务应用程序时我将面临的问题。我特别感兴趣的是如何选择使用实体框架来访问我的数据可能会限制我在构建项目时可能想要使用的不同设计模式/体系结构。

因为我正考虑在未来的项目中使用实体框架,所以我只对当前版本的实体框架的限制感兴趣。

2 个答案:

答案 0 :(得分:3)

您需要了解数据库聊天。坚持整个对象图并不是一个好主意。在进行复杂的查询和更新时,EF将始终尝试更新插入的对象。 解决方案是在存储过程中具有复杂的查询和更新逻辑,并通过传递XML /字符串等对象图进行单个数据库调用。

EF在设计优先或数据库优先建模时的另一个问题是实体类本身通过继承与框架耦合。围绕这个有几种策略,我有一个博客文章,允许使用POCO同时提取界面进行模拟,这非常方便。

Getting the entity framework to Generate an interface for Mocking

答案 1 :(得分:2)

这应该可能是一个CWiki,但是我会用拳头。

良好的EF实现的关键是正确的域建模(TPT用于灵活性,TPH用于性能,继承),持久性逻辑抽象(存储库模式,POCO,依赖注入)以及知道何时使用存储的智能混合数据库密集型任务的程序。

如果你想深入了解,我在EF中发现的唯一限制是缺乏枚举映射支持(尽管这应该很快修复)。

国际海事组织,产品的限制并非真正,因为开发人员缺乏对常见架构原则和指导方针的遵守。