EF6 db首先对包含下划线的表名进行复数/单一化

时间:2016-05-04 09:52:16

标签: c# entity-framework-6 visual-studio-2015

我正在尝试使用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; }
}

您是否知道此问题是否有解决方法(除了更改表名)?

2 个答案:

答案 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”选项。

GCS error codes