【问题标题】:Entity Framework 6 Creating Two table from the same entity objectEntity Framework 6 从同一个实体对象创建两个表
【发布时间】:2015-11-03 07:01:31
【问题描述】:

我想知道是否可以从一个已定义的实体对象类创建两个表实例。

例子:

public class EntityA()
{
    public String name {get; set;}
    public String value {get; set;}
}

public class MyDbConext : DbContext
{
    public DbSet<EntityA> instance1{ get; set; }
    public DbSet<EntityA> instance2{ get; set; }
}

我要做的是创建两个具有不同表名的实体 A 实例。代码优先实体框架有可能吗?我觉得必须创建另一个扩展实体 EntityA 的类来创建同一实体的另一个实例似乎很乏味。

期望的输出:

  • 从 EntityA 类创建“Instance1_Table”
  • 从 EntityA 类创建“Instance2_Table”

DBConext 中的代码会抛出异常。

任何建议表示赞赏, 谢谢, D

【问题讨论】:

    标签: c# asp.net ef-code-first entity-framework-6 code-first


    【解决方案1】:

    在一个DbContext 中不能有多个DbSet 指向同一个类。您的选择是:

    • 创建具有相同属性的新类
    • 继承
    • 使用不同的DBContexts

    【讨论】:

    • 你知道他们为什么选择这个设计吗?在我看来这没有任何意义,特别是如果您可以通过添加一次额外的继承层来规避这一点..
    猜你喜欢
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    相关资源
    最近更新 更多