Lyn*_*Dev 2 c# sql entity-framework entity-framework-6
用户能够在搜索框中输入以逗号分隔的ID列表.然后需要转换为以下SQL:
...
WHERE table.idCol = id1 OR table.idCol = id2 OR table.idCol = id3 ...
Run Code Online (Sandbox Code Playgroud)
给定一个字符串数组我需要编写哪些EF代码来生成它?以下不起作用,因为它产生AND
foreach (string idStr in idString.Split(','))
{
int id = int.Parse(idStr);
query = query.Where(t => t.idCol == id);
}
Run Code Online (Sandbox Code Playgroud)
你为什么不用Contains它,它将翻译成IN条款:
var idList = idString.Split(',').Select(int.Parse).ToList();
var query = table.Where(x => idList.Contains(x.idCol));
Run Code Online (Sandbox Code Playgroud)