我先试试 EF 模型。我正在使用 EF 4.1
非常关注这篇文章
我在模型上将 PluraliseNewObjects 设置为 False,并且在 Options->Database Tools ->O/R Designer 中将名称的 Pluralization 设置为 false。
两者都没有任何效果 - 当我从模型生成新模式时,表名总是复数 - 是否可以禁用它?
我先试试 EF 模型。我正在使用 EF 4.1
非常关注这篇文章
我在模型上将 PluraliseNewObjects 设置为 False,并且在 Options->Database Tools ->O/R Designer 中将名称的 Pluralization 设置为 false。
两者都没有任何效果 - 当我从模型生成新模式时,表名总是复数 - 是否可以禁用它?
好的 - 我找到了一种方法来实现我想要的 - 但这是一条非常愚蠢的路线。
生成具有复数名称的数据库(有趣的是,它仅将映射到类型的表复数 - 而不是自动生成的多对多连接的链接表)。
手动重命名数据库中的表
从项目中删除模型并根据现有数据库模式(我刚刚重命名的模式)重新创建。
模型现在正确映射到单独命名的表。
我会拭目以待,看看是否有人想出一个更明智的方法来实现这一目标......
生成的 DDL 中的表名称似乎与“实体集名称”值匹配(不同于“实体名称”)。如果您对实体集名称进行单数化,则 DDL 中的表名也会单数化。
但是,这可能会产生在代码中单数化 EntitySet 属性名称的不良影响。代替:
myDatabase
.Products
.Where...
.Select...
您的代码将如下所示:
myDatabase
.Product
.Where...
.Select...
可能是也可能不是问题