我正在使用EF 5.0和Oracle。我已成功建立连接,直到现在从数据库更新模型没有问题。
我最近在尝试使用edmx文件中的“从数据库更新模型”选项时遇到了问题。我研究并意识到该过程正在利用(吞噬)服务器上所有可用的临时空间。 然后我得到以下错误:“ORA-01652:无法在表空间'Space_Name'中将临时段扩展128”。
不幸的是,当我只是尝试从数据库刷新模型时,也会发生这种情况。
似乎我的项目中的某些内容可能已更改,导致此进程进入循环。服务器有大约800000个块,每个块是8192,看起来空间很大。
我希望有人可以为事业提供一些方向。
感谢。 YY
答案 0 :(得分:0)
简单地解释一下,尽管我有大约6GB的处理空间,但我的数据库处理空间已经用尽了。这似乎已经足够了。
在深入研究这个问题之后,我逐渐意识到由于数据库的大小及其复杂性,我正在处理EF性能问题。 我连接的数据库有超过2000个表。虽然我只要求将其中的一小部分添加到我的模型中,但有些因素会对我产生影响并占用所有可用空间。
最大的是数据库大小 - 表和关系。增加架构大小的性能成本几乎呈指数级增长。因此问题。
解决方案的建议:
仔细阅读并理解挑战(第2.1节):Performance Considerations for Entity Framework
如果在数据库服务器上增加模式的临时空间是一个选项,那么请尝试重新生成。
(适用于我)使用多个EDMX文件生成模型,同时为实体提供相同的命名空间并使用相同的连接。
一切顺利 - YY。
答案 1 :(得分:0)
这个解决方案对我有用:
https://community.oracle.com/thread/3610894?start=15&tstart=0
简单地说要升级到ODT + ODAC 12.1.0.2.1
我在12.1.0.1.2上遇到了这个问题,因为数据库模式有很多表(11k + !!!)。 EF5和EF6也存在同样的问题。升级ODT + ODAC后,一切正常。