好吧,讓說,下面是我所導入的實體模型我的數據庫結構:實體LINQ法的連鎖查詢
Place
----------------
Id bigint PK
Name varchar(10)
Time
----------------
Id bigint PK
PlaceId bigint FK_Place_Id
StartTime datetime
EndTime datetime
DayOfWeek
----------------
Id bigint PK
Name varchar(10)
TimeDayOfWeek
----------------
TimeId bigint PK FK_Time_Id
DayOfWeekId bigint PK FK_DayOfWeek_Id
在LINQ方法鏈我願做類似下面的東西:
public List<Place> GetPlaces(SearchRequest request)
{
using(var c = new Context())
{
var placereturn = c.Places.AsEnumerable();
if (request.StartTime.HasValue)
placereturn = c.Places.Where(s => s.Time.Any(t => t.StartTime >= request.StartTime));
if (request.EndTime.HasValue)
placereturn = c.Places.Where(s => s.Time.Any(t => t.EndTime >= request.EndTime));
if (request.DayOfWeek.HasValue)
placereturn = c.Places.Where(s => s.Time.Any(t => t.DayOfWeeks.Any(z => z.Day = request.DayOfWeek)));
return placereturn;
}
}
除了星期幾線以外的所有作品。
這項工作? placereturn = placereturn.Where(s => s.Time.Any(t => t.StartTime> = request.StartTime.Value)); – Cyberdrew 2011-01-27 20:37:47
我知道我忘了placereturn = placereturn。 DOH!我正在寫在記事本中。 – Cyberdrew 2011-01-27 20:38:25