Đây là biểu thức Lambda tôi đang sử dụng để thử và bao gồm bảng User
, điều này sẽ phát ra lỗi.Bao gồm các mô hình có nguồn gốc Lớp liên quan
ICollection<Activity> activity = db.Activities
.Include(i => i.Project.ProjectDoc.OfType<Cover>().Select(v => v.User))
.Where(u => u.UserID == WebSecurity.CurrentUserId)
.OrderByDescending(d => d.DateCreated).ToList();
Các bao gồm tuyên bố cho lỗi này
Các Bao gồm biểu thức đường dẫn phải đề cập đến một bất động sản chuyển hướng xác định trên loại. Sử dụng đường dẫn rải rác cho thuộc tính điều hướng tham chiếu và toán tử Chọn cho thuộc tính điều hướng bộ sưu tập.
Mô hình trong câu hỏi
public abstract class ProjectDoc
{
public int ProjectDocID { get; set; }
public int ProjectID { get; set; }
public string DocTitle { get; set; }
public string Status { get; set; }
public string Access { get; set; }
public DateTime DateCreated { get; set; }
public virtual ProjectDocAccess ProjectDocAccess { get; set; }
public virtual Project Project { get; set; }
public virtual ICollection<Comment> Comment { get; set; }
public ICollection<ProjectDocVote> ProjectDocVote { get; set; }
}
public class Segment : ProjectDoc
{
public string Content { get; set; }
}
public class Cover : ProjectDoc
{
public string CoverURL { get; set; }
public int UserID { get; set; }
public User User { get; set; }
}
Làm thế nào để bao gồm các User
bảng cho ProjectDoc
loại Cover
?
CẬP NHẬT: Mỗi câu trả lời. Tôi đã cập nhật mô hình cho Cover
để trông giống như thế này và loại bỏ bao gồm mà tôi đã nói là gây ra lỗi. Bây giờ tôi có thể lấy dữ liệu:
public class Cover : ProjectDoc
{
public string CoverURL { get; set; }
public int UserID { get; set; }
public virtual User User { get; set; }
}