实体框架4代码优先:大型模型

时间:2010-10-10 21:10:13

标签: .net entity-framework ef4-code-only

在使用EF4代码时,有没有人建议使用大型数据库模型?实体集被添加到数据库上下文中,但如果我有100个表,我需要创建100个DbSet,每个表1个:

public class Customers : DbContext
{
    public DbSet<Customer> Customers {get; set;}
    public DbSet<Employees> Employees {get; set;}
    public DbSet<...
    ...
    ...
    95 more
}

对于大型数据库模型,最好根据域名将DbSets拆分为多个类吗?

1 个答案:

答案 0 :(得分:2)

是的,您必须为每个表创建POCO类和DbSet。这就是Code的意思。如果您不喜欢它,您可以使用标准EDMX并让EF为您生成实体和映射。

将模型拆分为多个上下文可能是个好主意,但这取决于您的域模型和解决方案的其他特征。请注意,延迟加载和复杂查询等许多功能仅适用于附加到同一上下文的实体。只有在上下文中映射的entites才能在那里使用。

对于这样一个大解决方案,您可以检查有关聚合根和存储库的域驱动设计理论。它可以为您提供有关拆分解决方案的一些想法。

相关问题