我正在使用 SQLMetal 生成我的 LINQ to SQL DBML 文件。它还会创建一个“.designer”文件,其中包含所有生成的代码。
它有一堆被 FX Cop 标记为外壳问题的类和属性。
我已经关注了这篇关于如何检查 FX Cop 以抑制案例问题的堆栈溢出帖子。这似乎有效,但是我现在无法弄清楚如何将“生成代码”属性添加到内部的每个类designer
文件中的每个类。
我可以全局忽略那个特定的 CS 文件吗?
我正在使用 SQLMetal 生成我的 LINQ to SQL DBML 文件。它还会创建一个“.designer”文件,其中包含所有生成的代码。
它有一堆被 FX Cop 标记为外壳问题的类和属性。
我已经关注了这篇关于如何检查 FX Cop 以抑制案例问题的堆栈溢出帖子。这似乎有效,但是我现在无法弄清楚如何将“生成代码”属性添加到内部的每个类designer
文件中的每个类。
我可以全局忽略那个特定的 CS 文件吗?
我当前的项目不久前停止使用 sqlmetal 并切换到t4 templates。我们可以完全控制生成的代码,并且我们对结果更满意。我们推出了自己的产品,但有很多很好的例子。
codeplex上的这个似乎有点陈旧,但可能是一个很好的起点。
Oleg Sych的一篇旧文章值得一看。他是T4大师。
我用一个对所有 DatabaseAttributes 和 TableAttributes 执行查找/替换的宏解决了这个问题。它将这些替换为 GeneratedCode 属性,后跟换行符,然后是原始行。.designer 文件中的每个类都以其中一个属性开头,因此宏会全部获取它们。这不是一个理想的解决方案,但它比每次修改 DBML 时手动将 GeneratedCode 属性添加到每个类要好。