Maj*_*jid 6 sql entity-framework visual-studio-2010 pluralize ef-model-first
我在EF中有一些模型和表格,你可以在这里看到其中一个:

现在,当我想从模型生成数据库时,它将's'添加到生成的sql中的表名:
CREATE TABLE [dbo].[Options] (
[Id] int IDENTITY(1,1) NOT NULL,
[Name] nvarchar(50)  NOT NULL,
[Price] int  NOT NULL
); 
我也禁用了多个名称,但没有改变:
 
 
这会导致部署Web应用程序时出错.我怎样才能防止多元化?
只需重写 OnModelCreating 方法并删除 \xe2\x80\x9cPluralizingTableNameConvention\xe2\x80\x9d 约定即可。因此,您告诉实体框架不要使用复数表名称,只需添加
\n\n更新
\n\n protected override void OnModelCreating(DbModelBuilder modelBuilder)\n {    \n     modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();\n }\n它将删除默认附加到所有模型构建器的复数约定
\n\n您还需要添加命名空间
\n\nSystem.Data.Entity.ModelConfiguration.Conventions;\n希望它会有所帮助
\n