EF使用LINQ尝试在数组中传递包含
本文关键字:包含 数组 使用 LINQ EF | 更新日期: 2023-09-27 18:09:53
是否有更好的方法从数组中编写此CONTAINS ?
我正在传递一个字符串/数组到我的LINQ语句。在SQL中,正在工作的代码是
SELECT * FROM dbo.option1
WHERE option1Code IN ('9841','V237','SV02','2057')
在EF使用LINQ我正在尝试
using (var ctx = new ProductEntities())
{
//--------------------------------------------------------------------//
string csvSKU = '984,237,102,207';
string[] mArray = csvSKU.Split(',');
var results = (from o in ctx.option1
join p in ctx.Products on o.option1Code equals p.productSKU
where mArray.Contains(o.option1Code)
orderby o.option1Sort
select o).Distinct().ToList();
return results;
}
这看起来很好,应该会产生类似的SQL作为你发布(至少对于Contains
部分)。
也不确定你的连接现在是什么-是否有任何选项代码在Products
表/productSKU
中没有条目?