Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 为什么我在edmx中遇到了79个表的硬限制?_Visual Studio 2012_Entity Framework 4 - Fatal编程技术网

Visual studio 2012 为什么我在edmx中遇到了79个表的硬限制?

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

我的团队有一个Oracle数据库,大约有100个表和30个左右的视图。几周前,我们注意到,在将DB中的一个新表添加到实体框架数据模型(通过EDMX设计器,从数据库向导更新模型)时,更新被挂起——有几次更新在大约15分钟后返回,但更常见的情况是,我们终止了Visual Studio或中止了更新

我已经做过实验,看看是否能找出问题所在。我删除了旧的图表和所有的模型实体。我创建了一个新的图表,并开始添加表——首先,一次添加一个表,然后一次添加3、4或5个表。第一次添加大约需要15秒来生成模型

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个左右的表决不是一个“大”数据库。试着将一些表拆分成另一个图-