我正在尝试对包含实体模型(edmx文件)的程序集运行代码分析。在项目属性中,我检查了“从生成的代码中抑制结果”选项,但是我仍然收到很多与自动生成的EF代码有关的CA错误。
有没有人经历过这个?是否有解决方法?
答案 0 :(得分:11)
只需将属性放在类定义上即可。
但是怎么做,因为你的文件可以随时被覆盖。使用单独的文件,因为所有生成的类都是分部类。打开一个单独的文件,并写下如下内容:
[GeneratedCode("EntityModelCodeGenerator", "4.0.0.0")]
public partial class YourEntitiesContextName : ObjectContext
{
}
这将跳过您特定生成的类的代码分析。例如,StyleCop更加智能,不会触及名称中.designer/.generated
部分的文件或名称中包含generated
个字词的区域。
答案 1 :(得分:7)
好吧,“从生成的代码中抑制结果”实际上意味着“不要查看带有GeneratedCodeAttribute
的类型”。 EF的代码生成器在历史上没有添加它(尽管我已向团队建议)。但是你可以添加use custom T4。