我正在尝试在 2 个班级之间创建一对多的关系,主要是我试图在房间号和 Campusid 之间设置一个复合键。我尝试使用注释并覆盖模型构建器,但仍然没有任何效果......
这是抛出的异常:
未处理的异常:System.Data.Entity.ModelConfiguration.ModelValidationException:在模型生成期间检测到一个或多个验证错误:Room_Campus_Target_Room_Campus_Source::关系约束中的从属角色和主体角色中的属性数量必须相同。
这是我的模型:
public class Room
{
public int Id { get; set; }
[StringLength(4, MinimumLength = 3)]
public string Number { get; set; }
public int CampusId { get; set; }
//[ForeignKey("Number, CampusId")]
public virtual Campus Campus { get; set; }
}
public class Campus
{
public Campus()
{
this.Rooms = new HashSet<Room>();
}
public int Id { get; set; }
[StringLength(4)]
public string Number { get; set; }
public virtual ICollection<Room> Rooms { get; set; }
}
这是我的模型构建器 attepmt 有同样的例外..
modelBuilder.Entity<Room>()
.HasRequired(r => r.Campus)
.WithMany(c => c.Rooms)
.HasForeignKey(c => new { c.Number, c.CampusId });
提前致谢!:)