【问题标题】:Entities Framework 4 Code First: Large modelEntity Framework 4 Code First:大型模型
【发布时间】:2010-10-11 15:46:45
【问题描述】:

在首先使用 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 拆分为多个类?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 切换到WCF 有意义吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 2012-07-30
    相关资源
    最近更新 更多