什么是抑制EF警告的正确方法?

时间:2015-03-30 01:36:11

标签: entity-framework visual-studio-2013 msbuild

我想抑制这些警告,但我无法弄清楚如何做到这一点。

suppress

4 个答案:

答案 0 :(得分:8)

You are correct that these are warnings, not errors. The easiest way to supress the validation warnings from the compiler is to disable the Validate on Build property of the EF model. To do so, open your .edmx and select the background. Open the Properties window of Visual Studio and set Validate on Build to false. When you want to validate the model, just open the model again. There is also a right click context menu option on the model to Validate.

答案 1 :(得分:2)

更好的办法是自己在解决方案级别或项目级别创建一个.editorconfig文件,并添加诸如Erik在其帖子中提到的规则。如本answer所述,您可以添加EditorConfig文件,如果选择.NET选项,则该文件已将其他规则和良好实践引入您的项目或解决方案中。


  • 从菜单栏中,选择项目> 添加新项;或按 Ctrl + Shift + A

  • 选择<Route path={['/createActivity', '/manage/:id']} component={ActivityForm}/>模板以添加一个EditorConfig文件,该文件预先填充了默认的.NET代码样式,格式和命名约定

enter image description here


但是,要完全禁止显示警告或建议,应使用“无”而不是“建议”。例如,对于CA1707,它在方法名称每次包含“ _”时都会显示一条警告,您需要在.editorconfig文件中添加以下条目:

int consumed = documentSnapshot.getLong("Consumed Calories: " +uid).intValue();
consumed = breakfast + lunch + dinner ;

但是,我喜欢这个规则。除非应用于测试项目中,否则按照惯例以“ Tests.cs”结尾。然后我可以完善规则,考虑这种情况:

editorconfig File (.NET)

使用最新规则,然后我可以查找解决方案级别的.editorconfig文件,该文件将仅将该规则应用于Test项目。

答案 2 :(得分:0)

使用Visual Studio 2019,您可以右键单击错误并消除此错误。 这将创建一个.editorconfig文件,其中包含以下内容:

dotnet_diagnostics.EF1000.severity = suggestion

enter image description here

答案 3 :(得分:-5)

那些不是你看到的警告,那些是错误。当诊断消息是警告或错误时,输出会非常清楚地告诉您。您已为编译器提供了错误编号(6002),并告诉它使用该编号禁止警告,但不存在此类警告。所以,你只是成功地创造了一个额外的错误

在这种情况下,您尝试抑制的消息是致命的编译器错误;您唯一的选择是修复您的代码。您必须为每个Entity Framework对象定义主键,否则实体框架将无法使用它。错误的措辞有点令人困惑,因为它意味着编译器已经以某种方式解决了问题。你的问题,但事实并非如此。

有关该特定错误的详细信息以及解决方法:

Error 6002: The table/view does not have a primary key defined