我们有一个包含超过 1000 个表的数据库,并希望考虑使用 EF4 作为我们的数据访问层,但我担心将其用于如此大的数据模型的实际情况。我见过这个问题 https://stackoverflow.com/questions/1519643/how-to-support-multiple-entity-framework-models-in-the-same-solution并阅读建议的解决方案here https://learn.microsoft.com/en-us/archive/blogs/adonet/working-with-large-models-in-entity-framework-part-1 and here https://learn.microsoft.com/en-us/archive/blogs/adonet/working-with-large-models-in-entity-framework-part-2。这些可能有效,但似乎引用了实体框架的第一个版本(并且比我想要的更复杂)。有谁知道这些解决方案是否在 EF4 中得到了改进?或者还有其他建议吗?谢谢。
更新:在多次尝试使 EF 正常工作之后,我决定在这个项目中完全放弃它。大数据模型支持还不存在,虽然可能有解决方法(例如独立于设计者编辑和维护 xml),但他们只是觉得还没有准备好迎接黄金时间。对我来说最大的问题是,如果没有大量冗余和重复的代码,EF 不能很好地处理跨多个 XML 文件的域模型。我仍然愿意接受建议(我知道我还没有剥掉 EF 洋葱的所有层),但现在,我将继续不使用 EF。
更新#2:看起来待处理的代码首先支持(目前在EF4 CTP4 https://web.archive.org/web/20160703021543/http://blogs.msdn.com:80/b/adonet/archive/2010/07/14/ctp4codefirstwalkthrough.aspx)很可能最终成为我们想要的解决方案,因为它使设计器和大型 XML 文件维护不再发挥作用。
我在 Microsoft 截屏视频中听到的数字是每个 EF 模型最多大约 250 个表。这并不意味着 EF 无法处理更多数据 - 将 1000 多个表分成几个逻辑表组,并为每个逻辑组使用一个 EF 模型(其中最多包含 250 个表)可能是明智的做法。
我非常怀疑您是否会遇到需要同时使用所有 1000 个表的查询 - 很可能一次甚至不会使用 10 个表。因此,您绝对应该能够将相当大的模型拆分为较小的集群,并将每个集群转换为单独的 EF 模型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)