我正在尝试使用Visual Studio 2015社区版中提供的向导,使用实体框架6创建新的实体数据模型(数据库优先)。我的所有表名都是复数(例如mn_Bills)。我选择了“Pluralize或singularize生成的对象名称”,但这并没有将对象名称单一化(即表mn_Bills的生成类是mn_Bills.cs文件中的mn_Bills)。
我在模型浏览器中修改了“名称”和“实体集名称”,仅部分解决了问题。生成的类是单数,这是好的,但N到1关联的外键关联是多元的:
public partial class mn_Bill
{
...
public virtual mn_Clearing mn_Clearings { get; set; }
}
您是否知道此问题是否有解决方法(除了更改表名)?
答案 0 :(得分:0)
我遇到了类似下划线表名的问题,似乎PluralizationService不支持下划线。
似乎答案是使用您自己的一些代码覆盖默认服务。
我没有为数据库第一个edmx解决方案做到这一点,因为我正在使用替代代码生成引擎 - 但这可能会在代码生成步骤中覆盖。
在这里看到这个答案:
Entity Framework EDMX - Entity Pluralization Fix
https://blogs.msdn.microsoft.com/efdesign/2008/12/01/pluralization/
答案 1 :(得分:-2)
只需在EDMX向导中选择“Pluralize or singularize”选项。