下面是我的代码示例。
List<string> userIds = userAppService.GetUserIds()
.Where(usr => usr.Status == "Active")
.Select(u => u.User_Id)
.ToList();
现在我想循环通过上述UserId的列表,并将结果添加到var变量。
foreach(string str in userIds)
{
var result = SLSDBContext.USER_HISTORY
.Where(i => i.UserId == str)
.Select(x => new
{
x.UserId,
x.LogCount,
x.IsRegistered
});
return this.Json(result)
}
上面的问题是我将无法访问foreach块外部的“result”变量。如果我试图在foreach块之前声明“result”变量,我无法为其分配类型。
有没有更好的方法来达到预期的效果?
我尝试在Linq中使用Any()运算符,但无法获得所需的结果。
var result = SLSDBContext.USER_HISTORY
.Where(i => i.UserId.Contains(userIds))
.Select(x => new
{
x.UserId,
x.LogCount,
x.IsRegistered
});
2条答案
按热度按时间nafvub8i1#
您可以使用
Join
:7jmck4yq2#
你可以在循环之前初始化
result
并使用Concat
方法。