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

Asp.net asp mvc中带有where子句列表的DB请求,asp.net,asp.net-mvc,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).To

是否可以将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();
List StableList=db.Stables.Where(s=>s.OwnerId==user.UserId.ToList();
列出PonyList=db.Ponys.Where(p=>p.PonyStableId=={StableList.StableId})OrderByDescending(p=>p.PostDate.ToList();
列出StableList=db.Stables.Where(s=>s.OwnerId==user.UserId)
.Select(s=>s.StableId)
.ToList();
List-PonyList=db.Ponys.Where(p=>StableList.Contains(p.PonyStableId))
.OrderByDescending(p=>p.PostDate)
.ToList();
可能不是最有效的。您可以在
Stables
Ponys
之间执行
Join
,其中
Stable.OwnderId==User.UserId
。这也行。

List StableList=db.Stables.Where(s=>s.OwnerId==user.UserId)
.Select(s=>s.StableId)
.ToList();
List-PonyList=db.Ponys.Where(p=>StableList.Contains(p.PonyStableId))
.OrderByDescending(p=>p.PostDate)
.ToList();

可能不是最有效的。您可以在
Stables
Ponys
之间执行
Join
,其中
Stable.OwnderId==User.UserId
。那也行。

是的,谢谢!仍然比双倍foreach更有效;)请记住单击问题旁边的勾号,将问题标记为已回答answer@Camille:是的,别忘了“标记为答案”bro@Hosein:upvote表示酷,同时也是个书呆子;)顺便说一句,书呆子部分是在星期天结账的。…@QuintonBernhardt:lol,没冒犯你,但在我的国家,星期天是一个工作日:DYep thx这是工作!仍然比双倍foreach更有效;)请记住单击问题旁边的勾号,将问题标记为已回答answer@Camille:是的,别忘了“标记为答案”bro@Hosein:upvote表示酷,同时也是个书呆子;)顺便说一句,书呆子的那部分是在星期天结帐的…@QuintonBernhardt:lol,没有冒犯你的意思,但是在我的国家星期天是一个工作日:D
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();