2

在首先使用 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
}

对于大型数据库模型,根据域将 DbSet 拆分为多个类是否更好?

4

1 回答 1

2

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

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

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

于 2010-10-11T07:46:45.127 回答