我先给EF模型。我正在使用EF 4.1
几乎遵循this article
我在模型上以及在选项 - >数据库工具 - > O / R设计器中将PluraliseNewObjects设置为False将名称的多个化设置为false。
两者都没有任何影响 - 当我从模型中生成一个新模式时,表名总是复数 - 是否可以禁用它?
答案 0 :(得分:0)
好的 - 我找到了一种方法来达到我的目的 - 但这是一条非常糟糕的路线。
生成带有复数名称的数据库(有趣的是,它只复制了映射到类型的表 - 而不是自动生成的链接表,用于多对多的连接)。
手动重命名数据库中的表
从项目中删除模型,并根据现有数据库模式(我刚刚重命名的模式)重新创建。
模型现在已正确映射到单个名称表。
我会等着看是否有人想出一个更明智的方法来实现这个目标....
答案 1 :(得分:0)
生成的DDL中的表名称似乎与"实体集名称相匹配"值(不同于"实体名称")。如果您单独化实体集名称,DDL中的表名也会被单一化。
但是,这会在您的代码中单独化EntitySet属性名称可能产生不良影响。而不是:
myDatabase
.Products
.Where...
.Select...
您的代码将如下所示:
myDatabase
.Product
.Where...
.Select...
可能是也可能不是问题