我创建了类:
public class Country
{
public long CountryId {get;set;}
public string CountryName {get;set;}
}
public class Profile
{
public long ProfileId {get;set;}
public string ProfileName {get;set;}
public Country Country {get;set;}
}
和配置文件的配置:
public class ProfileConfiguration : EntityConfiguration<Profile>
{
public IlluminatiCoreProfileConfiguration()
{
Relation(p => p.Country);
}
}
然后我创建上下文并运行context.CreateDatabase()。新数据库包含具有列Country_CountryId的表格配置文件。如何编写用于将列名更改为“CountryId”的配置?
感谢。
答案 0 :(得分:0)
在您的POCO for Profile中:
public class Profile
{
public long ProfileId {get;set;}
public string ProfileName {get;set;}
[ForeignKey("CountryId")]
public Country Country {get;set;}
}
在您的POCO for Country
中[Table("Country")]
public class Country
{
[Column(Name = "CountryId")]
public int CountryId {get;set;}
}
这将覆盖默认创建EF的大脑死亡Object_Property映射。您可以在任何表/属性上指定它以覆盖实际的DB列命名约定。
编辑: 我想这些注释的命名空间会有所帮助:
using System.ComponentModel.DataAnnotations;