una relazione uno-molti o molti-molti in Entity Framework Codice Primo aspetto: -Entity Framework Codice Primo e CA2227 "Proprietà della raccolta deve essere letto solo"
public class Foo
{
public int Id { get; set; }
public virtual ICollection<Bar> Bars { get; set; }
}
Questo viola regola analisi del codice 2227 " Le proprietà della raccolta devono essere di sola lettura ".
Rendere il setter protetto non aiuta, e rendendolo privato: -
public class Foo
{
public int Id { get; set; }
public virtual ICollection<Bar> Bars { get; private set; }
}
poi, naturalmente, viola CA1811 "Foo.Bars.set (ICollection < Bar>) sembra non avere pubblico a monte oa chiamanti protetti ".
Preferisco non disattivare la regola a livello globale perché la situazione che esiste per prevenire è abbastanza importante, ma sopprimerla localmente ogni volta che voglio dichiarare una relazione sembra off. C'è un modo per dichiarare la relazione che non viola CA2227?
stavo avendo lo stesso identico problema. Dopo che non ho trovato alcuna soluzione ragionevole, ho deciso che SuppressMessage() è forse il modo più pragmatico per andare. – theDmi