C# 更改实体类中字段的名称
在DB(我不能修改)中有一个Tax表,其中一列也称为Tax。当为该表创建实体类时,我将有一个类名Tax和一个类变量Tax。显然,这是行不通的。如何更改类变量的名称,以便Entity Framework仍将其映射到正确的列?您的DbContext可以重写。如果您的类或表不符合以下要求,则使用此方法 其中一个偏差是,如果表不是DbSet中实体的复数,或者实体中的属性不是表中列的名称C# 更改实体类中字段的名称,c#,entity-framework,C#,Entity Framework,在DB(我不能修改)中有一个Tax表,其中一列也称为Tax。当为该表创建实体类时,我将有一个类名Tax和一个类变量Tax。显然,这是行不通的。如何更改类变量的名称,以便Entity Framework仍将其映射到正确的列?您的DbContext可以重写。如果您的类或表不符合以下要求,则使用此方法 其中一个偏差是,如果表不是DbSet中实体的复数,或者实体中的属性不是表中列的名称 因此,您有一个表Tax,其中列Tax表示一个金额 创建一个类Tax,该类表示表Tax,而属性Value表示列Tax中
- 因此,您有一个表Tax,其中列Tax表示一个金额
- 创建一个类
,该类表示表Tax,而属性Tax
表示列Tax中的值Value
class MyDbContext : DbContext
{
public DbSet<Tax> Taxes {get; set;}
...
}
您可以在创建类时添加属性 可以为每个属性添加表名和克隆名 比如说
[Table("youtTableName")]
public class Tax
{
[column("yourColumnName")]
public int TaxId {get;set;}
}
protected override void OnModelCreating (System.Data.Entity.DbModelBuilder modelBuilder)
{
const string taxesTableName = "Tax";
const string valueColumnName = "Tax";
modelBuilder.Entity<Tax>().ToTable(taxesTableName);
modelBuilder.Entity<Tax>().Property(tax => tax.Value).HasColumnName(valueColumnName);
[Table("youtTableName")]
public class Tax
{
[column("yourColumnName")]
public int TaxId {get;set;}
}