Ef code first 代码优先Fluent API-重命名不在模型中的自动生成的ForeignKeyID Db列
我遵循了关于代码优先TPT继承的教程: 用户模型包含到BillingDetail的单向导航。CodeFirst命名列“BillingDetail\u BillingDetailId”我想重命名列“BillingDetailId” 使用fluentapi。这是怎么做到的?这是用户模型Ef code first 代码优先Fluent API-重命名不在模型中的自动生成的ForeignKeyID Db列,ef-code-first,Ef Code First,我遵循了关于代码优先TPT继承的教程: 用户模型包含到BillingDetail的单向导航。CodeFirst命名列“BillingDetail\u BillingDetailId”我想重命名列“BillingDetailId” 使用fluentapi。这是怎么做到的?这是用户模型 public class User { public int UserId { get; set; } public string FirstName { get; set; } publi
public class User
{
public int UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public virtual BillingDetail BillingDetail { get; set; }
}
谢谢您需要在用户对象上创建BillingDetailId属性,然后通过fluent API可以
protected override void OnModelCreating(DbModelBuilder builder)
{
builder.Entity<User>()
.Property(u => u.BillingDetailId)
.HasColumnName("BillingDetailId ");
}
模型创建时受保护的覆盖无效(DbModelBuilder builder)
{
builder.Entity()
.Property(u=>u.BillingDetailId)
.HasColumnName(“BillingDetailId”);
}
因为您将“BillingDetail”作为属性…从该属性中提取的任何内容都将具有“BillingDetailId”的列名
模型创建时受保护的覆盖无效(DbModelBuilder builder)
{
builder.Entity().Property(u=>u.BillingDetail).HasColumnName(“BillingDetailId”);
}
protected override void OnModelCreating(DbModelBuilder builder)
{
builder.Entity<User>().Property(u => u.BillingDetail).HasColumnName("BillingDetailId");
}