将Entity Framework与大型数据库(600多个实体)一起使用时内存不足

时间:2013-05-03 11:27:57

标签: asp.net asp.net-mvc entity-framework entity-framework-5

我正在使用具有600多个表的大型数据库的Entity Framework 5(尚未计算存储过程和视图)。在使用Visual Studio 2012启动和运行很少时,我尝试更新我的Model.EDMX文件(使用右键单击从数据库更新)或者只是在尝试编译时出现Out of Memory错误。

快速谷歌搜索说许多人面临类似的问题,一个论坛的人建议使用多个EDMX文件来避免这种情况。 (链接http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/b4ce1494-a0b4-42c6-af56-4ecbfeb83e29

我的问题是 1)有什么方法可以避免这个错误并使用大量的表而没有EF的问题? 2)对于大型企业数据库,Entity Framework模型对我来说是正确的吗?如果没有,有人可以建议我好吗?

提前致谢

2 个答案:

答案 0 :(得分:0)

回答你的第一个问题。

我发现在所有情况下更新实体框架似乎都不可靠。

您是否尝试删除模型中的所有对象并再次插入?这可能是一种可接受的解决方法。

答案 1 :(得分:0)

我建议花点时间研究一下nHibernate。它不像UI那样对用户友好而不是实体框架,但如果你处理大量的表,那对你来说应该是一个优势。

http://nhforge.org/Default.aspx

另外,您知道您不必映射实体模型中的所有表格吗?你可以带上你需要的东西。我假设你不需要所有600张桌子就可以了。