使用EF 6,当我们从数据库生成模型(dbmx)时,我们选中了复选框,指出:
对生成的对象名称进行多元化或单一化
但是,生成类时,每个类的名称都是表的确切名称,其属性(无论是db类型还是db set)也是它们各自表的确切名称。
基本上,一切都是多元化......
public virtual DbSet<Documents> Documents { get; set; } // Shoud be of type 'Document'
public virtual Images Images { get; set; } // should be of type 'Image', and named 'Image' as well
我在这里缺少什么?好像EF似乎并没有正确命名。
修改
我用单数和复数表名对此进行了测试。如上所述,生成的代码完全模仿表名称。如果表名为Documents
,则在C#中生成的类型为Documents
... 类型应为Document
。
在另一个解决方案中,生成的代码采用复数表名Documents
,并从中生成一个名为Document
的类型。 这个是我们新解决方案的预期行为......但由于某种原因它没有以这种方式工作。