企业N层设置

时间:2015-01-30 17:29:05

标签: c# entity-framework n-tier-architecture

我的任务是切换框架并选择EF作为ORM,但我一直试图弄清楚如何做到这一点。我了解N-Tier的基础知识,但是在我们公司,我们支持15个以上的应用程序,并且我试图了解是否应该为每个项目分别使用.EDMX文件。

如果是这样,那些是否应该在同一个项目中。他们是DAL项目和多个.EDMX文件,还是只有一个带有100多个表的大型.EDMX文件?

1 个答案:

答案 0 :(得分:1)

以下是我的建议:

  1. 为每个应用程序提供不同的解决方案。每个解决方案都有自己的EDMX文件,该文件将驻留在DAL中。
  2. 您可以为数百个表创建一个EDMX,但如果应用程序具有多个表,则最好为每个子功能创建单独的EDMX。在这种情况下,您可以在同一个DAL项目中拥有多个EDMX。
  3. 拆分EDMX有多种原因:

    1. Entity Framework使用ObjectContext来跟踪更改。如果它跟踪100个实体,它必须做更多工作并且性能降低。将每个edmx限制为较少数量的表可以提供更好的性能。
    2. 人们很可能会对EDMX做出相互矛盾的更改。即使它不是您功能的一部分,您也必须不必要地考虑合并更改。如果每个子团队都在自己的EDMX上工作,那么其他子团队就不会产生如此大的影响。
    3. 希望这有帮助。