Tôi đang sử dụng mô hình kho chung với các phương pháp:Entity Framework và mô hình kho vấn đề
private ObjectQuery<T> ObjectQueryList()
{
var list = CamelTrapEntities.CreateQuery<T>(EntitySetName);
return list;
}
public IQueryable<T> List()
{
return ObjectQueryList();
}
Metod Danh sách() trả về IQueryable < T >, becase IQueryable < T > rất dễ dàng để chế nhạo. Tôi cũng có phương pháp khuyến nông:
public static IQueryable<T> Include<T>(this IQueryable<T> obj, string path)
{
if (obj is ObjectQuery<T>)
(obj as ObjectQuery<T>).Include(path);
return obj;
}
Phương pháp này được sử dụng bên ngoài kho để có được danh sách thực thể có tính chất định hướng đã được nạp, ví dụ: List.Include ("CreatedBy"). Vấn đề là nó không hoạt động. Tất cả bao gồm đều bị bỏ qua. khi tôi thay đổi phương thức List() thành
public ObjectQuery<T> List()
{
return ObjectQueryList();
}
mọi thứ hoạt động tốt.
Tôi nên triển khai mẫu kho lưu trữ để có thể thực thi các truy vấn phức tạp hơn như thế nào?