[英]self join Lambda query in Entity Framework
我的代碼是
var model = dt.FishEventScheduleVaccination
.Join(
dt.FishEventSchedule,
vaccination => vaccination.ScheduleId,
schedule => schedule.ScheduleId,
(vaccination, schedule) => new { vaccination, schedule }
)
.Select(q=>new {
q.vaccination,
q.schedule
})
.Where(w=>w.schedule.Start>DateTime.Now).ToList();
var rtn=new List<FishEventScheduleVaccination>();
foreach (var m in model) {
var item = m.vaccination;
item.FishEventSchedule = m.schedule;
rtn.Add(item);
}
我只想使用lambda查詢,而不要使用foreach。 我能怎么做? 可能嗎?
from r in Entities.tbl join q in Entities.tbl on r.Id equals q.Id2 select new
{
Id = r.Column + " " + r.Column, Data = q.Column + " " + q.Column
};
我認為這應該可以解決您的查詢
要么
您也可以嘗試以下操作:
db.DTOPageSets.Join(db.DTOPageSets
.AsEnumerable(), a => a.ContentPageID, b => b.CategoryID, (a, b) => a);
嘗試以下方法:
dt.FishEventScheduleVaccination
.Join(dt.FishEventSchedule,
vaccination => vaccination.ScheduleId,
schedule => schedule.ScheduleId,
(vaccination, schedule) => new { vaccination, schedule })
.Where(w => w.schedule.Start > DateTime.Now)
.AsEnumerable()
.Select(q => { q.vaccination.FishEventSchedule = q.schedule; return q.vaccination; })
.ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.