我找到了很多这方面的例子,但没有人适合我...
我有一个主要课程:
public class Class1
{
public int id { get; set; }
public string desc { get; set; }
public virtual Class2 class2 {get; set;}
}
和第二节课:
public class Class2
{
public int id { get; set; }
public string desc { get; set; }
}
我以这种方式映射Class1
public class Class1Map : EntityTypeConfiguration<Class1>
{
public Class1Map()
{
// Primary Key
this.HasKey(t => t.Id);
// Table & Column Mappings
this.ToTable("Class1TableName");
this.Property(t => t.id).HasColumnName("IdColumnName");
this.Property(t => t.desc).HasColumnName("DescColumName");
}
}
这很好用
但我尝试了很多方法将Class2
的{{1}}属性绑定到Class1
的{{1}}字段,作为与IdClass2ColumnName
Class1Tablename
相关联的外键表没有成功。
如您所见,我不想在IdColumnName
Class2
属性
对于测试我尝试没有成功:
IdClass2
答案 0 :(得分:0)
解决了,代码迁移出了问题,我忘了更新代码迁移类,所以EF使用旧的列名。
正确的映射语法是
this.HasRequired(t => t.class2)
.WithRequiredDependent()
.Map(m => m.MapKey("IdClass2ColumnName "));