带有asp mvc中where子句的列表的DB请求

时间:2013-01-20 13:51:23

标签: asp.net asp.net-mvc

是否可以使用以前列表的where子句?

例如:

List<Stable> StableList= db.Stables.Where(s => s.OwnerId == user.UserId).ToList();

List<Pony> PonyList= db.Ponys.Where(p=> p.PonyStableId == {StableList.StableId })OrderByDescending(p => p.PostDate).ToList();

1 个答案:

答案 0 :(得分:4)

List<int> StableList= db.Stables.Where(s => s.OwnerId == user.UserId)
                             .Select(s => s.StableId)
                             .ToList();


List<Pony> PonyList= db.Ponys.Where(p=> StableList.Contains(p.PonyStableId))
                             .OrderByDescending(p => p.PostDate)
                             .ToList();

可能不是最有效的。您可以在JoinStables Ponys之间Stable.OwnderId == User.UserId之间进行{{1}}。那也行。