0

我正在使用 EF,存储库模式和服务来访问数据,我的数据发生了一些奇怪的事情:

public interface IEntity {

    int ID { get; set; }
}
public partial class Page : IEntity {

    public ICollection<Post> Posts { get; set; }

    public UserProfile User { get; set; }

    int _id;
    [Key]
    public int ID {
        get { return _id; }
        set { _id = value; }
    }
}
public partial class Post : IEntity {     

    public Page Page { get; set; }

    int _id;
    [Key]
    public int ID {
        get { return _id; }
        set { _id = value; }
    }
}

所以我有这些代码优先模型,这个查询曾经工作过:

         var posts = (from p in postDb.GetAll()
                     where p.Page.User.ID == userId && p.Status == Status.Pending
                     select p);

我不再这样做了,因为p.Page = null即使数据库中存在数据。如果我做类似的事情:select p.Page.Count()- 我会得到正确的计数,但如果我这样做:select p.Page,什么都没有......

我不明白我如何发现/修复出了什么问题?

4

0 回答 0