2

我先试试 EF 模型。我正在使用 EF 4.1

非常关注这篇文章

我在模型上将 PluraliseNewObjects 设置为 False,并且在 Options->Database Tools ->O/R Designer 中将名称的 Pluralization 设置为 false。

两者都没有任何效果 - 当我从模型生成新模式时,表名总是复数 - 是否可以禁用它?

4

2 回答 2

0

好的 - 我找到了一种方法来实现我想要的 - 但这是一条非常愚蠢的路线。

  1. 生成具有复数名称的数据库(有趣的是,它仅将映射到类型的表复数 - 而不是自动生成的多对多连接的链接表)。

  2. 手动重命名数据库中的表

  3. 从项目中删除模型并根据现有数据库模式(我刚刚重命名的模式)重新创建。

  4. 模型现在正确映射到单独命名的表。

我会拭目以待,看看是否有人想出一个更明智的方法来实现这一目标......

于 2012-05-24T14:44:33.950 回答
0

生成的 DDL 中的表名称似乎与“实体集名称”值匹配(不同于“实体名称”)。如果您对实体集名称进行单数化,则 DDL 中的表名也会单数化。

但是,这可能会产生在代码中单数化 EntitySet 属性名称的不良影响。代替:

myDatabase
.Products
.Where...
.Select...

您的代码将如下所示:

myDatabase
.Product
.Where...
.Select...

可能是也可能不是问题

于 2014-06-01T03:16:07.033 回答