0

我有一个包含多个表的 Linq to SQL 数据上下文。一个特定的表在 DBML 设计器中标记为具有公共访问权限,但是当我保存并编译程序集时,它总是将 .designer 文件中的访问修饰符更改为内部。因此构建总是失败(因为我在其他程序集中有引用此表的类),我必须进入 .designer 文件并将内部修饰符更改回公共。对 DBML 文件的任何更改都会导致这种情况发生,即使我在设计器中专门设置了该属性(无论来回切换它)。这是 VS 中的错误(在 VS2010 和 VS2013 中遇到的问题)并且有修复吗?

谢谢。

4

1 回答 1

0

我相信我终于找到了解决方案:

  1. 在 Visual Studio 之外打开 .dbml 文件(例如记事本)
  2. 找到有问题的表定义。
  3. 更改AccessModifier="Internal"AccessModifier="Public"
  4. 保存并关闭 .dbml 文件
  5. public如果您尚未这样做,请使用修饰符更新 .designer.cs 文件中的表定义。

理论上,当我更改表上的该属性时,dbml 设计器应该为我执行此操作,但不幸的是,这些特定表不适用。按照这些步骤解决了问题。

于 2014-03-06T22:54:13.133 回答