实体框架4 - 处理非常大(1000+表)的数据模型?

时间:2010-06-05 16:01:28

标签: .net entity-framework entity-framework-4

我们有一个包含超过1000多个表的数据库,并且想考虑将EF4用于我们的数据访问层,但我担心将其用于这样一个大型数据模型的实际现实。我看过this question并了解了建议的解决方案herehere。这些可能有效,但似乎是指实体框架的第一个版本(并且比我想要的更复杂)。有谁知道这些解决方案是否在EF4中有所改进?或者还有其他建议吗?感谢。

更新:经过多次尝试使EF工作,我决定放弃这个项目。大数据模型支持不存在,虽然可能有解决方法(例如,编辑和维护xml独立于设计者),但他们只是没有准备好迎接黄金时段。对我来说最大的问题是EF不能很好地与分布在多个XML文件中的域模型一起工作,而没有大量的冗余和代码重复。我仍然接受建议(我知道我没有剥掉EF洋葱的所有层),但是现在,我正在继续前进而没有EF。

更新#2:看起来暂挂代码第一次支持(目前在EF4 CTP4)可能最终成为我们想要的解决方案,因为它使设计人员和大型XML文件维护无法发挥作用。

3 个答案:

答案 0 :(得分:18)

我在微软截屏视频中听到的数字是每个EF型号最多约250张桌子。这并不意味着EF无法处理更多 - 将1000多个表拆分为多个逻辑表组可能是明智的,并且每个逻辑组使用一个EF模型(其中最多包含250个表)。

我非常怀疑你是否会有需要同时使用所有1000个表的查询 - 很可能不会同时使用10个表。因此,您绝对应该能够将相当大的模型拆分为更小的集群,并将每个模型转换为单独的EF模型。

答案 1 :(得分:7)

你应该明确地看一下LLBLGen Pro v3。虽然LLBLGen是另一个O / RM工具,但就像EF是一个O / RM工具一样,最新版本包含一个设计器,允许您为LINQ to SQL,NHibernate和AND Entity Framework(1.0和4.0)生成模型。 Its designer非常可靠,对大型域名模型有更好的支持。

答案 2 :(得分:2)

我确定并非所有1000多个表都相关。把它分解成逻辑部分。