gpt4 book ai didi

c# - Entity Framework 'Where Or' 用于多个用户指定的 ID

转载 作者:行者123 更新时间:2023-12-02 13:10:54 26 4
gpt4 key购买 nike

用户可以在搜索框中输入逗号分隔的 ID 列表。然后需要将其转换为以下 SQL:

...
WHERE table.idCol = id1 OR table.idCol = id2 OR table.idCol = id3 ...

给定一个字符串数组,我需要编写什么 EF 代码才能生成它?以下内容不起作用,因为它会生成 AND

foreach (string idStr in idString.Split(','))
{
int id = int.Parse(idStr);
query = query.Where(t => t.idCol == id);
}

最佳答案

为什么不直接使用 Contains,它会被翻译为 IN 子句:

var idList = idString.Split(',').Select(int.Parse).ToList();

var query = table.Where(x => idList.Contains(x.idCol));

关于c# - Entity Framework 'Where Or' 用于多个用户指定的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28214800/

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