2014-12-23 38 views
-1

我有一個Trip表。每次旅行都有很多投標。 我想獲得一些旅行的投標清單。實體框架。加載子元素列表

僞代碼,比如

var user = contex.Users.FirstOrDefault(); 
var trips = user.Trips.ToList<Trip>(); 
var all_bids_for_user_trips = trips.GetAllBidsForUserTrips().ToList<Bid>; 

我如何使用實體框架構造查詢?我發現Include()方法,但它不適合我。

+1

你是如何使用include方法的? –

+0

提供數據庫結構。 – Landeeyo

+0

我們需要更多的細節來幫助你。聊天「旅行」看起來像,GetAllBidsForUserTrips等。 – Sefa

回答

0
var user = context.Users.FirstOrDefault(); 
var trips = context.Trips.Where(t => t.UserID == user.UserID).Select(t => t.TripID).ToList(); 
var all_bids_for_user_trips = context.Bids.Where(b => trips.Contains(b.TripID)).ToList(); 
+0

對於如此微不足道的描述,我感到抱歉,但我認爲所有事情都必須非常清晰,理解起來很簡單。我的數據庫結構如下:Trip是父實體,Bid是子實體 - 也包含Trip Id。我很久以前解決了我的問題。查詢如下所示:bids = user。 旅程。 SelectMany(b => b.Bids)。 OrderByDescending(b => b.CreationDate)。 SkipWhile(b => b.BidId!= model.FromId).Where(b => b.IsAccepted == null).AsQueryable(); – Skiminock