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

Dav*_*eps 19 .net entity-framework entity-framework-4

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

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

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

mar*_*c_s 18

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

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

  • 我不明白为什么人们有这个问题.我现在正在这样做,这才有意义.我有一个有大约300个桌子的数据库,但我将它分成12个模型,因为系统有12个"区域".它可维护且简单.那么如果代码重复怎么办...我没有编写代码! (2认同)

Ste*_*ven 7

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

  • 感谢David Kreps,我们发现了这个问题并编写了一个新的FK元数据检索查询,这个查询在2005/2008年非常快,并且将在下一个版本中提供(v3.0将在9月17日之后构建).:)所以这个有很多表(1000+)的大型密集模型的缓慢现在已经解决了:) (5认同)
  • 我写了LLBLGen Pro并在一个拥有超过1000个表的数据库上进行了测试,没有任何问题.对informationschema的查询是FK查询吗?如果可能,您可以通过在我们的论坛上发布帖子或发送电子邮件给我们支持AT llblgen DOT com来提供更多信息吗?谢谢! (2认同)
  • 是的,这绝对是FK查询.我根据您的要求发送了一封包含更多详细信息的电子邮件.谢谢! (2认同)