Отношение «один-многие» или «многие-многие» в Entity Framework Code First выглядит следующим образом: —
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?