VS 2012 の MVC 3 ソリューションでは、コード分析の実行後に次のようなメッセージが表示されるのは奇妙に思えます。
「DON'T」分析で言及されているクラスがVS自体によって生成されたため、奇妙です(私ではありません)。
これを再現するには、次のことができます。
- ADO.NET Entity Data Modelをソリューションに追加し、
- データベース テーブル (SQL Server に既に存在する) をダイアグラムに追加します。
- ソリューションを再構築し、コントローラーと cshtml ビューを追加します (これらは自動的に生成されます)。
- ANALYZE メニューからコード分析を実行します。
問題は、自動生成されたコードをリファクタリングするか、このメッセージを無視するかです。
ルール CA2214 に違反する自動生成されたクラスのサンプルの下に:
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Backoffice.Entities
{
using System;
using System.Collections.Generic;
public partial class BR_SIMUL_Supermarket_Product
{
public BR_SIMUL_Supermarket_Product()
{
this.BR_SIMUL_Supermarket_Product_Price = new HashSet<BR_SIMUL_Supermarket_Product_Price>();
}
public int product_id { get; set; }
public int category_id { get; set; }
public string product_name { get; set; }
public string product_measure { get; set; }
public bool product_active { get; set; }
public virtual BR_SIMUL_Supermarket_Category BR_SIMUL_Supermarket_Category { get; set; }
more stuff here...