У меня есть этот пример проекта:
Модель:
public class Country
{
public int ID{get; set;}
public string CountryName{get; set;}
}
public abstract class Subject
{
public int CountryID{get; set;}
}
public class Person : Subject
{
public string PersonName{get; set;}
}
public class Company : Subjet
{
public string CompanyName{get; set;}
}
Контекст:
public class SampleContext : DbContext
{
public DbSet<Contry> Countries{get; set;}
public DbSet<Person> Persons{get; set;}
public DbSet<Company> Companies{get; set;}
modelBuilder.Entity<Person>().Map(m => { m.MapInheritedProperties();ToTable("Person"); });
modelBuilder.Entity<Company>().Map(m => { m.MapInheritedProperties();ToTable("Company"); });
}
И я получаю эту ошибку.
Ошибка 3013: проблема в фрагменте сопоставления, начинающемся со строки xxx: отсутствует сопоставление таблицы: ограничение внешнего ключа Subject_Country из таблицы Subject (CountryID)
Но, тема абстрактна, и я не использую такую таблицу в БД. Когда я использую в классе Subject только такие параметры, как int или string, все в порядке. Но когда я хочу использовать некоторые отношения, я получаю эту ошибку.
Большое спасибо за помощь.