Tôi sử dụng EntityFramework POCO + proxy + tải chậm trong dự án của tôi. Hôm nay tôi đã khá ngạc nhiên khi thấy rằng lớp Transaction
có bộ sưu tập có liên quan của nó Rows
được thực hiện thành HashSet
(thay vì EntityCollection
). Tôi cần EntityCollection
để theo dõi các thay đổi trong bộ sưu tập.Cấu trúc liên quan đến khung thực thể nhận được materialized thành HashSet
public class Transaction
{
public virtual ICollection<TransactionRow> Rows { get; set; }
}
Tuy nhiên các lớp thực thể khác có bộ sưu tập liên quan của chúng được vật chất thành EntityCollection
.
Tôi đang tải Transaction
đến ObjectQuery
, vì vậy nó phải ở trong ngữ cảnh. Proxy cho đối tượng cũng được tạo.
Bất cứ ai có thể cho biết - làm cách nào để khung thực thể quyết định sử dụng gì - HashSet hoặc EntityCollection? Tại sao một số điều trở thành HashSets?
Ouch, tôi vừa kiểm tra lớp một lần nữa và nhận ra rằng bộ sưu tập không được đánh dấu là ảo :) Cảm ơn bạn đã gợi ý! – Jefim