0
包含的內容我有這樣EF忽略了選擇
public class Author
{
...
}
public class Comment
{
public long Userid { get; set; }
...
}
public class Blog
{
public Author Author { get; set; }
public ICollection<Comment> Comments { get; set; }
}
數據結構,當我嘗試從數據庫取回一些數據,我用下面的結構
IRepository<Blog> blogsRepository = _repositoryFactory.Create<Blog>();
IQueryable<Blog> blogsQuery = blogsRepository.Query().Include(x => x.Author);
List<BlogsData> blogsData = blogsQuery.Select(x => new BlogsData
{
Blog = x,
Commented = x.Comments.Any(z => z.Userid == userId)
}).ToList();
其中BlogsData
是
public class BlogsData
{
public Blog Blog { get; set; }
public bool Commented { get; set; }
}
但是畢竟數據被提取到List<BlogsData>
的Blog.Author
財產是null
。
我不明白,爲什麼Include(x => x.Author)
在這種情況下被忽略? 以及如何解決這個問題?
有時當EF被突起元件,如果'.Include()'不是最後一個語句,其他一些語句將會阻止include包起作用(這是我的經驗)。 –