LazyLoadingEnabled được đặt cụ thể thành true để ngăn các thực thể liên quan tải trong ngữ cảnh tôi đang sử dụng.DBContext lazyloadingenabled được đặt thành true vẫn tải các thực thể liên quan theo mặc định
Một lớp thuốc có danh sách các đối tượng thuốc trong đó.
public class Drug
{
public virtual List<DrugIdentity> DrugIdentities { get; set; }
}
Cấu hình cụ thể cho lớp này đặt mối quan hệ then chốt và quan hệ nếu tôi muốn bao gồm thực thể liên quan được tải.
public DrugConfiguration()
{
this.HasKey(d => d.DrugID);
this.HasMany(d => d.DrugIdentities).WithOptional(d => d.Drug).Map(d => d.MapKey("DrugID"));
}
Khi ngữ cảnh ma túy được tải bằng truy vấn LINQ, đối tượng hiển thị nó có chứa DrugIdentities liên quan khi nó không nên.
context.Configuration.LazyLoadingEnabled = true;
var drugs = from d in context.Drug
where d.Active == true
select d;
thuốc [0] .DrugIdentities Đếm = 1
Tôi mong chờ thuốc [0] .DrugIdentities để NULL bằng từ lazyloading được thiết lập là true?
Bạn có vẻ hiểu nhầm việc tải xuống chậm hơn so với thực tế. Tải xuống có nghĩa là dữ liệu của bạn ** được ** tự động tải khi bạn truy cập thuộc tính điều hướng. ** đối diện của điều này, mong muốn tải, là khi bạn nhận được null cho thuộc tính quan hệ của bạn trừ khi bạn rõ ràng (háo hức) tải chúng. –