所以我刚刚开始使用Entity Framework。我正在使用一个非常大的现有数据库。我发现自己想要使用EF来创建整个数据库“切片”的模型。这些切片对应于应用的一个方面。这是查看它的正确方法,还是我应该尝试在1 EDMX中建模整个数据库?
让我给你一个虚构的例子:
假设此数据库包含的许多内容中有1个是客户帐单信息。我觉得我想创建一个EF模型,只关注客户计费模块需要与之交互的表。 (那么该模型不会用于应用程序中的其他模块,相反,那些相同的表可能会出现在其他小型EF模型中)。这将允许我利用EF的概念模型特性(继承等)来构建一个对客户账单正确的视图,而不用担心该模型的影响,比如客户支持(即使2个模块共享一些表)
这听起来不错吗?
答案 0 :(得分:1)
我更愿意使用切片方法,原因如下:
答案 1 :(得分:1)
这对我来说是对的。毕竟,实体模型的目的是在a level of abstraction that's appropriate处为所需的业务逻辑提供一组具有持久性的业务对象。
您绝对应该创建支持应用程序模块的实体模型,而不是复制底层数据库模式的模型。如上面的链接所述,将逻辑与持久性分离是EF的主要目的之一。