Search code examples
c#asp.netef-code-firstentity-framework-6code-first

Entity Framework 6 Creating Two table from the same entity object


I was wondering if it's possible to create two table instance from one defined entity object class.

Example:

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; }
}

What i'm trying to do is create two instances of Entity A with different table names. Is that possible with code first entity framework? I feel like it's seems tedious to have to just create another class that extends entity EntityA to just create another instance of the same entity.

Desired Output:

  • Creation of "Instance1_Table" from EntityA class
  • Creation of "Instance2_Table" from EntityA class

The code in the DBConext will throw an exception.

Any advice appreciated, Thanks, D


Solution

  • You cannot have multiple DbSet pointing to the same class in one DbContext. Your options are:

    • Creating new class with same properties
    • Inheritance
    • Using different DBContexts