在實體框架代碼第一次一個一對多或多對多的關係是這樣的: -實體框架代碼優先和CA2227「集合屬性應爲只讀」
public class Foo
{
public int Id { get; set; }
public virtual ICollection<Bar> Bars { get; set; }
}
這違反了代碼分析規則2227「集合屬性應該是隻讀的「。
使保護不利於制定者,並使其私人: -
public class Foo
{
public int Id { get; set; }
public virtual ICollection<Bar> Bars { get; private set; }
}
當然再違反了CA1811「Foo.Bars.set(ICollection的<酒吧>)似乎沒有上游公共或受保護呼叫者「。
我不想在全球範圍內關閉這個規則,因爲它存在的預防情況是相當重要的,但是每當我想聲明關係似乎都是在本地抑制它。有沒有辦法宣佈不違反CA2227的關係?
我有完全相同的問題。在我沒有找到任何合理的解決方案後,我決定SuppressMessage()可能是最實用的方法。 – theDmi