2014-05-25 26 views
1

我一直在考虑一个模型工作,但想不出LINQ查询得到什么,我需要到我的对象。EntityFramework - 如何填充子成员?

给定一个初始日期,我需要检索所有自那以后公布出售的物品,成员的详细信息,以及这些物品的照片的文件名的。 还需要能够通过一个MemberID,并找到他们有销售(和文件名)的项目 EF Model 有人可以请指我什么查询这是什么? 我一直在关注一些EF教程,但在计算这个问题时遇到了很多困难......

当我尝试这个时,在与photoURL交谈时,我得到一个空引用异常。

var items = db.BuySellLists.Include(b => b.Member) 
         .Include(b => b.BuySellPhoto) 
         .Where(b => b.PostedDate >= fromDate && b.IsBuyable == true) 
         .OrderBy(b => b.PostedDate) 
         .ToList(); 

我目前得到它通过查找所有销售项目的工作,然后从那里循环每BuySellListId获得该项目的照片,以获得URL,但是这将导致数据库相当多的个人查询并给出了性能问题。

回答

1

照片是不是隐含在您的查询。这就是为什么你得到一个NullReferenceException。您需要明确包含如下:

Include(b => b.BuySellPhoto.Photo) 

检查MSDN documentation on Include extension了解更多详情。

+0

太棒了!谢谢!原来,这只是一个难题。一些项目的发布日期是去年的日期,没有人实际上输入了任何照片数据......对于那部分感觉非常愚蠢。 – Dragick