实体框架代码第一个命名约定 - 回到多个表名?

Pau*_*nza 37 c# entity-framework naming-conventions entity-framework-4 ef-code-first

我首先要解析实体框架代码.根据他们的命名约定,我们现在必须将我们的表命名为复数,而不必使用该工具进行干预.我知道映射可以被过度使用.我的问题是,经过多年的单一命名约定,我们回到使用复数名称?

此外,我想知道为什么新的例子使用Northwind而不是Adventure Works.我认为原因是因为AW使用单一命名,他们无法展示无代码功能

Mor*_*avi 72

Code First的RTM版本将完全支持名为Pluggable Conventions的很酷的功能,您可以在其中添加或替换默认约定,例如您提到的约定.

幸运的是,您正在寻找的内容已包含在CTP5中.您可以通过删除PluralizingTableNameConvention约定来关闭复数表名称约定.这是您需要为此事写的所有代码:

using System.Data.Entity.ModelConfiguration.Conventions.Edm.Db;

protected override void OnModelCreating(ModelBuilder modelBuilder)
{    
    modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
Run Code Online (Sandbox Code Playgroud)


关于你的问题,你更多地看到Northwind数据库而不是Adventure Works的原因只是因为AW是一个巨大而Northwind是一个相当小的数据库因此使它更适合样本和演练.也就是说,你仍然需要编写一些代码来使用Code First中的Northwind数据库.

  • 感谢您的澄清和示例.我觉得我在EF CodeFirst和MVC 3之间喝水了! (2认同)