【问题标题】:L2S DBML Table Stuck as "Internal" Visual StudioL2S DBML 表卡在“内部”Visual Studio
【发布时间】:2014-03-07 06:54:13
【问题描述】:
我有一个包含多个表的 Linq to SQL 数据上下文。一个特定的表在 DBML 设计器中标记为具有公共访问权限,但是当我保存并编译程序集时,它总是将 .designer 文件中的访问修饰符更改为内部。因此构建总是失败(因为我在其他程序集中有引用此表的类),我必须进入 .designer 文件并将内部修饰符更改回公共。对 DBML 文件的任何更改都会导致这种情况发生,即使我在设计器中专门设置了该属性(无论来回切换它)。这是 VS 中的错误(在 VS2010 和 VS2013 中遇到的问题),是否有修复?
谢谢。
【问题讨论】:
标签:
visual-studio
linq-to-sql
【解决方案1】:
我相信我终于找到了解决办法:
- 在 Visual Studio 外部打开 .dbml 文件(例如记事本)
- 找到有问题的表定义。
- 将
AccessModifier="Internal" 更改为AccessModifier="Public"
- 保存并关闭 .dbml 文件
- 如果您还没有这样做,请使用
public 修饰符更新 .designer.cs 文件中的表定义。
理论上,当我更改表上的该属性时,dbml 设计器应该为我执行此操作,但不幸的是,它不适用于这些特定表。按照这些步骤解决了问题。