表名以"es"结尾的Linq to SQL会创建错误的实体类名

Pet*_*ack 1 pluralize linq-to-sql

我的SQL表名都是复数 - 事件,团队,校园等...当我将表拖入dbml时,它会创建一个名为" Campuse " 的实体,当然这是不正确的.我在属性页面中手动将其重命名为Campus,但它似乎没有正确更新所有自动生成的代码.例如,.designer.cs文件具有以下代码:

    public System.Data.Linq.Table<Campus> Campus
Run Code Online (Sandbox Code Playgroud)

什么时候应该

    public System.Data.Linq.Table<Campus> Campuses
Run Code Online (Sandbox Code Playgroud)

关联名称的类似问题.

我可能会完成所有生成的代码,并尝试手动重命名所有内容,但这很痛苦.有没有更好的办法?

Ada*_*son 7

您可以关闭LINQ-to-SQL实体的自动复数,这应该可以解决您的问题.遗憾的是,LINQ-to-SQL(和实体框架)旨在用于以单一形式命名表的更普遍的实践.代码生成器将试图找出它所看到的复数单词的单数形式,但它并不是特别擅长这项任务.