Entity Framework 4仅代码引用列名

时间:2010-04-16 11:56:45

标签: entity-framework

我创建了类:

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”的配置?

感谢。

1 个答案:

答案 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;