Я новичок в EF Core и извините, если это глупый вопрос. При попытке запросить
Context.EmployeeAddressNavigation.where(x =>x.Name.Contains("name")).Select(x => new {x.Id,x.employAddress})
Employee
public class Employee
{
public Guid Id {get;set;}
public string Name {get;set;}
}
EmployeeAddress
появляется неверный столбец «Дискриминатор»
public class EmployeeAddress
{
public Guid EmployeeId {get;set;}
public Guid AddressId {get;set;}
}
EmployeeAddressNavigation
public class EmployeeAddressNavigation : Employee
{
public EmpoyeeAddress employAddress {get;set;}
}
Я настроил onModelCreate следующим образом
override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Employee>().ToTable("employee");
modelBuilder.Entity<EmployeeAddress>().ToTable("employeeaddress");
modelBuilder.Entity<EmployeeAddressNavigation>()
.HasMany(r => r.EmployeeAddress)
.WithOne()
.HasForeignKey(r => r.EmployeeId);
}
Я видел подобный вопрос здесь EF Core “Неверное имя столбца Ошибка «Дискриминатор» с наследованием , но я не понял, как исправить мою проблему? Кто-нибудь может также объяснить, как использовать HasDiscriminator () и какова его цель?