【问题标题】:Linq to SQL: How do I stop the auto generated object name from being renamed?Linq to SQL:如何阻止自动生成的对象名称被重命名?
【发布时间】:2010-09-25 01:09:07
【问题描述】:

在 Visual Studio 2008 中,当我将数据库表拖到我的 dbml 屏幕中时,任何以字母 s 结尾的表都会自动从 dbml 对象中删除 s。有什么办法可以禁用吗?

此外,行集合还会在集合属性名称后附加一个 s。有没有办法改变它?

谢谢

【问题讨论】:

    标签: sql linq linq-to-sql


    【解决方案1】:

    您需要为 LINQ to SQL 设计器禁用 Pluralize Table Names。

    为此,导航至工具 -> 选项 -> 数据库工具 -> O/R 设计器,然后将 名称的多元化 更改为 false

    然后你需要重新编译你的项目,它应该解决命名问题

    【讨论】:

    • 是否可以仅对单个实体禁用它?
    • awaisj,看我的回答。
    【解决方案2】:

    在代码优先的场景中,您可以通过简单地在具有 Table 属性的实体上指定表的名称来处理一些像这样弹出的更细粒度的问题:

        [Table("QTPhotos")]
        public class QTPhoto 
    

    我发现,最初,我们有一个简单的实体名称“Photo”,但这与某些东西(与我们的许多实体名称)相冲突,因此我们开始对它们进行限定(“QT”作为示例前置),突然出现了这个问题。所以我敢打赌这是因为“Photo”是一个公认的以“o”结尾的词,它不会复数为“..oes”(如 Potatoes),但“QTPhoto”不是,意思是它试图找到一个名为“QTPhotoes”的表。

    只需设置表名即可解决此问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      相关资源
      最近更新 更多