我试图将父列和子列命名为更有意义的名称,而不是 Element_ID 和 Element_ID1。
Element 表的生成没有问题,但第二个表是我想要更新列名的表。
我尝试[Column("ParentID")]
在父属性减速上方添加属性,但它对生成的表没有影响。
实体类
public class Element
{
public Guid ID { get; set; }
public string Title { get; set; }
public int Status { get; set; }
public virtual List<Element> Parent { get; set; }
public virtual List<Element> Child { get; set; }
}
生成的迁移
CreateTable(
"dbo.ElementElements",
c => new
{
Element_ID = c.Guid(nullable: false),
Element_ID1 = c.Guid(nullable: false),
})
.PrimaryKey(t => new { t.Element_ID, t.Element_ID1 })
.ForeignKey("dbo.Elements", t => t.Element_ID)
.ForeignKey("dbo.Elements", t => t.Element_ID1)
.Index(t => t.Element_ID)
.Index(t => t.Element_ID1);
如果我使用第二个实体,我可以根据需要制作第二个表输出
public class Hierarchy
{
public Guid ID { get; set; }
public virtual Guid ParentID { get; set; }
public virtual Element Parent { get; set; }
public virtual Guid ChildID { get; set; }
public virtual Element Child { get; set; }
}
生成了以下创建脚本
CreateTable(
"dbo.Hierarchies",
c => new
{
ID = c.Guid(nullable: false),
ParentID = c.Guid(nullable: false),
ChildID = c.Guid(nullable: false),
})
.PrimaryKey(t => t.ID)
.ForeignKey("dbo.Elements", t => t.ParentID)
.ForeignKey("dbo.Elements", t => t.ChildID)
.Index(t => t.ParentID)
.Index(t => t.ChildID);
那么是否可以通过一个实体类使用我想要的列名来生成第二个表?