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

Entity Framework 'Where Or' for multiple user specified IDs

用户可以在搜索框中输入以逗号分隔的 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));