具有Entity Framework Model First的多个表名

时间:2012-05-24 14:01:54

标签: entity-framework entity-framework-4.1

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

几乎遵循this article

我在模型上以及在选项 - >数据库工具 - > O / R设计器中将PluraliseNewObjects设置为False将名称的多个化设置为false。

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

2 个答案:

答案 0 :(得分:0)

好的 - 我找到了一种方法来达到我的目的 - 但这是一条非常糟糕的路线。

  1. 生成带有复数名称的数据库(有趣的是,它只复制了映射到类型的表 - 而不是自动生成的链接表,用于多对多的连接)。

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

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

  4. 模型现在已正确映射到单个名称表。

  5. 我会等着看是否有人想出一个更明智的方法来实现这个目标....

答案 1 :(得分:0)

生成的DDL中的表名称似乎与"实体集名称相匹配"值(不同于"实体名称")。如果您单独化实体集名称,DDL中的表名也会被单一化。

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

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

您的代码将如下所示:

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

可能是也可能不是问题