L2S DBML表被困为“内部”Visual Studio

时间:2013-06-28 10:39:25

标签: visual-studio linq-to-sql

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

感谢。

1 个答案:

答案 0 :(得分:0)

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

  1. 在Visual Studio外部打开.dbml文件(例如记事本)
  2. 找到有问题的表格定义。
  3. AccessModifier="Internal"更改为AccessModifier="Public"
  4. 保存并关闭.dbml文件
  5. 如果您尚未使用public修饰符更新.designer.cs文件中的表定义。
  6. 理论上,当我在表上更改该属性时,dbml设计器应该为我执行此操作,但不幸的是,它不适用于这些特定的表。按照这些步骤解决了问题。