tre*_*orc 56 entity-framework ef-code-first
在命名我的数据库表时,我更喜欢使用单数名词.但是,首先在EF代码中,生成的表总是复数.我的DbSets是多元化的,我相信是EF生成名称的地方,但我不想将这些名称单一化,因为我认为在代码中使用复数更为实际.我也尝试重写设置,但无济于事.
有任何想法吗?这是我的代码和谢谢.
MyObjectContext.cs
public class MyObjectContext : DbContext, IDbContext
{
public MyObjectContext(string connString) : base(connString)
{
}
public DbSet<Product> Products {get;set;}
public DbSet<Category> Categories {get;set;}
//etc.
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingEntitySetNameConvention>();
}
}
Run Code Online (Sandbox Code Playgroud)
Mor*_*avi 89
您已为此目的删除了错误的约定(PluralizingEntitySetNameConvention).只需用下面的代码替换你的OnModelCreating方法就可以了.
using System.Data.Entity.ModelConfiguration.Conventions.Edm.Db;
...
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
Run Code Online (Sandbox Code Playgroud)
使用Entity Framework 6,在您的文件上继承自DbContext:
using System.Data.Entity.ModelConfiguration.Conventions;
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26484 次 |
| 最近记录: |