小编May*_*ger的帖子

在.NET中使用多个ID的SQL查询

我有以下方法

public SomeObj LoadSomeData(int id)
{
    using (var context = new DataContext())
    {
        var result = 
            context.Database.SqlQuery<SomeObj>
            ($"SELECT * FROM SOMEOBJECT WHERE id = {id}")
        return result;
    }
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,现在规范已经改变,我需要查找多个ids.我将id作为int列表并返回一个列表.我读了一些关于Sql Query的内容,我可以使用IN并传递多个值.所以这是我的改变:

public List<SomeObj> LoadSomeData(List<int> listOfIds)
{
    using (var context = new DataContext())
    {
        var result = 
            context.Database.SqlQuery<SomeObj>
            ($"SELECT * FROM SOMEOBJECT WHERE id IN ({id})") <-- I am not sure how to pass list in 
        return result;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我手动将值传递给1,2,3等查询时,第二种方法有效,但如何将列表传递给查询?

.net c#

3
推荐指数
1
解决办法
295
查看次数

标签 统计

.net ×1

c# ×1