Một mối quan hệ một-nhiều hoặc nhiều-nhiều trong khung Entity Mã đầu tiên trông như thế này: -Entity Framework Mã Trước CA2227 "Bộ sưu tập thuộc tính cần được đọc chỉ"
public class Foo
{
public int Id { get; set; }
public virtual ICollection<Bar> Bars { get; set; }
}
này vi phạm Phân tích Mã cai trị năm 2227 " Thuộc tính Bộ sưu tập chỉ nên đọc ".
Làm setter bảo vệ không được, và làm cho nó tin: -
public class Foo
{
public int Id { get; set; }
public virtual ICollection<Bar> Bars { get; private set; }
}
thì tất nhiên làm hại chính CA1811 "Foo.Bars.set (ICollection < Bar>) dường như không có công thượng nguồn hoặc người gọi được bảo vệ ".
Tôi không muốn loại bỏ quy tắc trên toàn cầu vì tình trạng nó tồn tại để ngăn chặn là khá quan trọng, nhưng ngăn chặn nó cục bộ mỗi khi tôi muốn tuyên bố một mối quan hệ dường như tắt. Có cách nào để khai báo mối quan hệ không vi phạm CA2227 không?
Tôi đã có vấn đề chính xác như vậy. Sau khi tôi không tìm thấy bất kỳ giải pháp hợp lý nào, tôi đã quyết định rằng SuppressMessage() có lẽ là cách thực dụng nhất để thực hiện. – theDmi