Я пытаюсь создать 1: много отношений между Person и Car. Я знаю, что это тривиально. Но при переходе к Enable-Migrations
в менеджере пакетов консоли я получаю это:Ошибка при выполнении Enable-Migrations в Entity Framework Code Сначала
Car_Person_Target_Car_Person_Source:: Типы всех свойств в зависимая роль реляционного ограничения должны быть такими же, как и соответствующие типы недвижимости в Принципала Роль. Тип property 'PersonID' для лица 'Car' не соответствует типу Свойство 'FirstName' для лица 'Person' в ссылочном ограничении 'Car_Person'.
Car_Person_Target_Car_Person_Source:: Типы всех свойств в зависимой роли реляционного ограничения должны быть то же самое, что и соответствующие типы недвижимости в основную роль. Тип свойства «PersonSsn» на объекте «Автомобиль» не соответствует типу типа «LastName» на объекте «Лицо» по ссылке ограничение «Car_Person».
лицо Класс:
public class Person
{
public Person()
{
Cars = new List<Car>();
}
[Key, Column(Order = 0)]
public int ID { get; set; }
[Key, Column(Order = 1)]
public int Ssn { get; set; }
public int Age { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public virtual ICollection<Car> Cars { get; set; }
}
Класс автомобиля:
public class Car
{
[Key, Column(Order = 0)]
public int ID { get; set; }
[Key, Column(Order = 1)]
public int ChassisSerial { get; set; }
[ForeignKey("Person"), Column(Order = 0)]
public int? PersonID { get; set; }
[ForeignKey("Person"), Column(Order = 1)]
public int? PersonSsn { get; set; }
public virtual Person Person { get; set; }
}
Спасибо заранее.
Я знаю, что свободный API может быть решением.Но я использую это выше для API-интерфейса Odata. И я не знаю, как использовать свободный API там. – Ankit
Ответственность за уровень инфраструктуры, если вы используете Layered Project. Но в любом случае вы можете создать папку «Конфигурация» в своем проекте и поместить в нее классы EntityTypeConfiguration, а в вашем классе Context вы зарегистрируете эти классы в качестве кода выше. –
@ Аните, что вы решили? –