我尝试在 Entity Framework 6 中使用一对多关系,但出现错误 Invalid column name 'MeetingStatusObj_Id
,但如果您在下面看到我已经使用 [ForeignKey("blabla")]
显式设置列名。>
实体框架似乎出于某种原因忽略了 [ForeignKey("blabla")]
。
但是 如果我使用 FluentAPI
设置关系,它将完美运行。我错过了什么吗?
这是我的代码。
public class MeetingDetail
{
[Key]
public Guid Id { get; set; }
[Required]
public int IdMeetingStatus { get; set; }
[ForeignKey("IdMeetingStatus")]
public MeetingStatus MeetingStatusObj { get; set; }
}
public class MeetingStatus
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public IList<MeetingDetail> MeetingDetailObj { get; set; }
}
//In class AppDBContext
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//Prevent error https://stackoverflow.com/a/6143116/7906006
Database.SetInitializer<AppDbContext>(null);
base.OnModelCreating(modelBuilder);
//If i set the relationship using fluent API in here, it will work perfectly
}
编辑:
其他注释不太像 [Column("YourColumnName")]
, [NotMapped]