У меня есть следующие классы для Code First Approach в EF6.
Это мастер-класс:
public class Users
{
[NotMapped]
public string Password { get; set; }
[Key, Column(Order = 1)]
public Guid UserId { get; set; }
[Key, Column(Order = 2)]
public int ITS { get; set; }
}
Это дочерний класс:
public class Class : CommonFields
{
[Key]
public int ClassId { get; set; }
public int TeacherITS { get; set; }
public int CoordinatorITS { get; set; }
[ForeignKey("TeacherITS, CoordinatorITS"), Column(Order = 2)]
public virtual Users Users { get; set; }
}
теперь при попытке обновить базу данных я получаю
The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property 'TeacherITS' on entity 'Class' does not match the type of property 'UserId' on entity 'Users' in the referential constraint 'Class_Users'
Я сделал обновления в дочернем классе ниже:
public class Class : CommonFields
{
[Key]
public int ClassId { get; set; }
[ForeignKey("Teacher"), Column(Order = 2)]
public int TeacherITS { get; set; }
[ForeignKey("Coordinator"), Column(Order = 2)]
public int CoordinatorITS { get; set; }
public virtual Users Teacher { get; set; }
public virtual Users Coordinator { get; set; }
}
и теперь я получаю ошибку ниже:
The number of properties in the Dependent and Principal Roles in a relationship constraint must be identical