我遇到通过WCF RIA和实体框架加载相关数据的问题 - 请帮助我 - 我不知道如何解决它。
我有Room< - RoomRecords(包含startDate / endDate字段和对父房间的引用),我必须加载RoomRecords,例如开始日期> = 1.07.2010和endDate< = 15.07.2010。父母房间也应包括在内。我正在使用Room属性加上i'm using this approach - 'How to do a Conditional Include'的[Include]属性来检索相关数据。
问题是,在客户端,我得到所有roomRecords相关的房间(例如,开始/结束日期是从过去的一年 - 这不是我需要的 - 会有很多记录!)但我需要获取带有RoomRecords的房间,其开始/结束日期与所述条件相符。解决方法是什么?谢谢!
答案 0 :(得分:1)
盛衰!
好像我错了 - 一切正常,条件加载工作正常......原谅!
查询:
var res = from room in this.ObjectContext.Rooms
from rr in room.RoomRecords
where
(rr.StartDate >= startDate.Date && rr.StartDate < endDate) ||
(rr.EndDate > startDate.Date && rr.EndDate < endDate) ||
(rr.StartDate < startDate.Date && rr.EndDate >= endDate)
select new {
Room = rr.Room,
rRec = rr
};
var ret = res.AsEnumerable().Select(d => d.Room);
var justRoomRecords = ret.SelectMany(r => r.RoomRecords).ToList(); // just to check
return ret;