gpt4 book ai didi

c# - 将多个值放入 Azure 移动服务的 WHERE 子句中

转载 作者:太空宇宙 更新时间:2023-11-03 19:17:25 27 4
gpt4 key购买 nike

我试图弄清楚如何将多个值放入 WHERE 子句中;您可以在 SQL 中使用 IN 子句来处理这种情况。

我当前的代码:

if (Log.Count() == 1)
{
items = itemTable
.Where(Item => Item.id == Log[0].i_id)
.ToCollectionView();
}
else if (Log.Count() == 2)
{
items = itemTable
.Where(Item => Item.id == Log[0].i_id || Item.id == Log[1].i_id)
.ToCollectionView();
}
else if (Log.Count() == 3)
{
items = itemTable
.Where(Item => Item.id == Log[0].i_id || Item.id == Log[1].i_id || Item.id == Log[2].i_id)
.ToCollectionView();
}

这真是太恶心了。我找不到一种方法可以在没有大 if 语句的情况下将多个值放入 WHERE 子句中。有什么想法吗?

最佳答案

试试这个:

items = itemTable
.Where(Item => Log.Any(logItem => logItem.i_id == Item.id))
.ToCollectionView();

编辑:(响应“不支持的异常(exception)”)

您可以尝试此替代方案,看看后端是否支持它:

var ids = Log.Select(logItem => logItem.i_id).ToList();
var items = itemTable
.Where(Item => ids.Contains(Item.id))
.ToCollectionView();

关于c# - 将多个值放入 Azure 移动服务的 WHERE 子句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15172995/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com