EF ComplexType列名(ModelFirst)

时间:2014-03-12 11:18:55

标签: entity-framework complextype ef-model-first

我正在从事EF 6项目(ModelFirst)。

我使用名为" UserInfo"的复杂类型。在我的所有表格中。

但是,当我从我的模型创建数据库时,列的前缀是复杂类型的名称(例如:UserInfo_CreationDate)

有没有办法在模型中定义没有前缀的列名(CreationData代替UserInfo_CreationDate)?

1 个答案:

答案 0 :(得分:0)

您可以使用AnnotationsFluentApi

对于FluentApi,覆盖OnModelCreating课程中的dbContext方法 并且,对于类UserInfo的每个属性,添加HasColumnName定义,如下所示:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{    
    modelBuilder.Entity<YourEntity>().Property(s => s.UserInfo.CreationDate).HasColumnName("CreationData");  
}

对于Annotations,在类UserInfo的每个属性中,添加如下注释:

public class UserInfo
{
    .....

    [Column("CreationDate")]
    public DateTime CreationDate {get; set;}

    .....
}