Я пытаюсь реализовать одно-многое отношение с решением общей сущности в сущностном коде кода, сначала используя наследование. Это не создает желаемых результатов. Мне нужна эта схема:Entity Framework: общая сущность для отношения «один ко многим»
CommonEntity Address Licensee User
-------------- ------------- ----------- ---------
CID(PK) AddressID(PK) CID(FK/PK) CID(FK/PK)
AddressID(FK)
CommonEntity:
public class CommonEntity{
[key]
public int CID{get;set;}
public virtual List<Address> Addresses { get; set; }
}
Адрес:
public class Address{
[key]
public int AddressID{get;set;}
public string country{get;set;}
}
Лицензиат:
public class Licensee{
[key]
[ForeignKey("CommonEntity")]
public int CID{get;set;}
public string CompanyName{get;set;}
}
Пользователь:
public class User{
[key]
[ForeignKey("CommonEntity")]
public int CID{get;set;}
public string UserName{get;set;}
public string Pass{get;set;}
}
DbContext Класс:
public class DataModelContext : DbContext
{
public DbSet<CommonEntity> CommonEntity { get; set; }
}
Приведенный выше код дает это исключение:
ForeignKeyAttribute на имущество 'CommonID' по типу 'TestingEF.Models.Licensee' не является допустимым. Свойство навигации «CommonEntity» не было найдено по зависимому типу «TestingEF.Models.Licensee». Значение Name должно быть допустимым именем свойства навигации .
При использовании '[ForeignKey ("CommonEntity")]', необходимо также свойство навигации 'публичный виртуальный CommonEntity CommonEntity {получить; задавать; } '. –