好吧,这应该很容易,但我一直在撕扯我的头发。这是我的POCO(与机器零件有关,因此零件可以包含在父零件中):
public class Part
{
public int ID { get; set; }
public string Name { get; set; }
public Part ParentPart { get; set; }
}
创建数据库表时,列名称为“ID”,“名称”和“PartID”。如何将最后一列的名称更改为“ParentPartID”?
答案 0 :(得分:2)
基本上,您希望在 Independent Association 中重命名外键,这是可以执行此操作的流畅API代码:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Part>()
.HasOptional(p => p.ParentPart)
.WithMany()
.IsIndependent()
.Map(m => m.MapKey(p => p.ID, "ParentPartID"));
}
但是,由于CTP5中的错误,此代码在自引用关联(这是您的关联类型)中抛出异常。解决方法是将您的关联更改为外键关联,如下所示:
public class Part
{
public int ID { get; set; }
public string Name { get; set; }
public int ParentPartID { get; set; }
[ForeignKey("ParentPartID")]
public Part ParentPart { get; set; }
}