我正在开发一个项目,我们正在使用.NET MVC 3和EF 4.该网站正在增长,并且有很多表。因此,实体框架的表设计者过多的CPU使用率打开并添加新表。我有什么选择?我该怎么办?
答案 0 :(得分:2)
对于大型模型,我认为设计师的方法不太理想。如果可以,可以考虑重构(一次一口?)到代码优先方法;这将允许您继续使用当前的技术。我有一个约650个实体的项目工作得非常好,但是我无法想象用~650个实体加载一个.edmx设计师(没有拉我的头发,就是这样)。
总而言之,EF不是“重型” - 它是设计师。
答案 1 :(得分:2)
从Visual Studio 2012开始,您现在可以将实体模型拆分为多个图表。这将大大减少图表的复杂性。
见
答案 2 :(得分:1)
如果数据库操作一般很大,您可以考虑不使用EF并使用原始ADO.NET。 EF无论如何都归结为低级别的ADO.NET,但立即使用ADO.NET将提高性能。
答案 3 :(得分:1)
从长远来看,转向代码优先架构绝对值得考虑。从短期来看,您也可以将模型分解为多个设计上下文。您可以通过识别仅使用表的子集的应用程序区域来开始此操作。然后创建一个仅包含这些表的单独数据上下文。您可以在执行此操作时保留现有的综合上下文,以避免破坏遗留代码。您可以根据需要添加任意数量的数据上下文,但我会在单独的文件夹中创建每个数据上下文(因此也是一个单独的命名空间),因此您不必担心名称冲突。