Visual studio 2012 为什么我在edmx中遇到了79个表的硬限制?
我的团队有一个Oracle数据库,大约有100个表和30个左右的视图。几周前,我们注意到,在将DB中的一个新表添加到实体框架数据模型(通过EDMX设计器,从数据库向导更新模型)时,更新被挂起——有几次更新在大约15分钟后返回,但更常见的情况是,我们终止了Visual Studio或中止了更新 我已经做过实验,看看是否能找出问题所在。我删除了旧的图表和所有的模型实体。我创建了一个新的图表,并开始添加表——首先,一次添加一个表,然后一次添加3、4或5个表。第一次添加大约需要15秒来生成模型Visual studio 2012 为什么我在edmx中遇到了79个表的硬限制?,visual-studio-2012,entity-framework-4,Visual Studio 2012,Entity Framework 4,我的团队有一个Oracle数据库,大约有100个表和30个左右的视图。几周前,我们注意到,在将DB中的一个新表添加到实体框架数据模型(通过EDMX设计器,从数据库向导更新模型)时,更新被挂起——有几次更新在大约15分钟后返回,但更常见的情况是,我们终止了Visual Studio或中止了更新 我已经做过实验,看看是否能找出问题所在。我删除了旧的图表和所有的模型实体。我创建了一个新的图表,并开始添加表——首先,一次添加一个表,然后一次添加3、4或5个表。第一次添加大约需要15秒来生成模型 Load
Loading metadata from the database took 00:00:00.5137297.
Generating the model took 00:00:14.8504157.
每次后续添加(1-5个表)都要多花几秒钟的时间
Loading metadata from the database took 00:00:00.5682151.
Generating the model took 00:00:17.2365107.
Loading metadata from the database took 00:00:00.5065684.
Generating the model took 00:00:18.1086428.
在大约75张桌子上,添加另外一两张桌子大约需要30秒
Loading metadata from the database took 00:00:00.5524721.
Generating the model took 00:00:30.5682269.
在表80中,有一个明确的断点。尝试添加第80个表会导致设计器无限期挂起。我必须终止向导并中止添加
我尝试过删除其他表,然后添加新表,而特定的表似乎并不重要——都是关于数字
更奇怪的是,我可以添加视图——它们似乎不计入80个表的限制
有人知道发生了什么吗
(我唯一的猜测是一些配置设置——连接池限制等,但我找不到任何显示“80”的设置。)
技术:
Visual Studio Pro 2012
system.data.entity.dll,运行时版本4.0.30319,版本4.0.0.0
EntityFramework.dll运行时v4.0.30319,版本5.0.0.0(我不知道EF有任何官方记录的表限制。但我肯定会认为,对于这么大的数据库,尝试加载edmx可能会仅由于内存原因而崩溃。与此类似的问题很多
也许你应该仔细研究所有的解决方案,找到适合你的解决方案,比如。“…有这么大的数据库…”我想你一定是误读了。80个左右的表决不是一个“大”数据库。试着将一些表拆分成另一个图-