我試圖使用EF7遷移,並在繼承模型化了組織模型時陷入了困境。EF7遷移 - 實體類型''的相應CLR類型不可實例化
組織是一個抽象類,有兩個具體類繼承它,稱爲個人和公司。
我在DbContext中將組織抽象類設置爲DbSet並運行遷移。
我下面這個教程顯示here
以下錯誤:
爲實體型「組織」的對應的CLR類型不實例化並沒有在模型中沒有派生實體類型對應於具體的CLR類型。
我該怎麼做?
編輯 - 更新了代碼
組織
public abstract class Organization
{
public Organization()
{
ChildOrganizations = new HashSet<Organization>();
}
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public bool Enabled { get; set; }
public bool PaymentNode { get; set; }
public DateTime Created { get; set; }
public DateTime Updated { get; set; }
// virtual
public virtual ICollection<Organization> ChildOrganizations { get; set; }
}
個人
public class Individual : Organization
{
public string SocialSecurityNumber { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
}
公司
和public class Company : Organization
{
public string Name { get; set; }
public string OrganizationNumber { get; set; }
}
的DbContext
public class CoreDbContext : IdentityDbContext<ApplicationUser>
{
public DbSet<Organization> Organization { get; set; }
public CoreDbContext(DbContextOptions<CoreDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
// Customize the ASP.NET Identity model and override the defaults if needed.
// For example, you can rename the ASP.NET Identity table names and more.
// Add your customizations after calling base.OnModelCreating(builder);
}
}
提前感謝!
請在問題中添加代碼。 –
您是否在同一個項目或獨立項目中擁有DbContext? –
@TomDroste DbContext與域模型在同一個類庫項目中,遷移在Web項目中。 – Rovdjuret