代码之家  ›  专栏  ›  技术社区  ›  darewreck

实体框架6从同一实体对象创建两个表

  •  6
  • darewreck  · 技术社区  · 9 年前

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

    例子:

    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

    1 回复  |  直到 9 年前
        1
  •  6
  •   DDan    9 年前

    不能有多个 DbSet 指向同一个类 DbContext 。您的选项包括:

    • 创建具有相同属性的新类
    • 遗产
    • 使用不同的 DBContext s