所以我刚刚开始使用Entity Framework。我正在使用一个非常大的、现有的数据库。我发现自己想要使用EF来创建模型,这些模型是整个数据库的“切片”。这些切片对应于应用程序的一个方面。这是看待它的正确方式吗,或者我应该尝试在1EDMX中对整个数据库进行建模?
让我给你一个虚构的例子:
假设此数据库包含的众多内容中有一个是客户帐单信息。我觉得我想创建一个EF模型,它只关注客户帐单模块需要与之交互的表。(因此,该模型将不会用于应用程序中的其他模块,相反,这些相同的表可能会出现在其他小型EF模型中)。这将允许我利用EF的概念模型功能(继承等)来构建一个对客户账单正确的视图,而不必担心该模型对客户支持的影响(即使两个模块共享一些表)
这听起来对吗?
发布于 2010-12-30 05:05:13
这在我看来是对的。毕竟,实体模型的目的是在a level of abstraction that's appropriate中为所需的业务逻辑提供一组具有持久性的业务对象。
您绝对应该创建支持应用程序模块的实体模型,而不是复制底层数据库架构的模型。正如上面的链接所描述的,将逻辑与持久性分开是EF的主要目的之一。
发布于 2010-12-30 05:04:45
基于以下原因,我更倾向于使用切片方法:
https://stackoverflow.com/questions/4557793
复制相似问题