首页 > 解决方案 > C# 实体框架 fromsqlraw 查询,包含 (in) 而不是 where 子句

问题描述

varname 使此查询工作的正确语法是什么?我可以让它与单个变量一起工作

string varname = "TOTAL_NORWAY"

但是,如果我想在其中有一些变量,我会返回一个空数组:

    string varname = "'TOTAL_NORWAY', 'TOTAL_SWEDEN'";
    
   return await _Context.theDataModel.FromSqlRaw(@"
                        select data
                            from data_table 
                            where Variable in ({0})
                            
    
                    ", varname).ToListAsync();

标签: c#sqlentity-framework

解决方案


请记住,您可以FromSqlRaw与 Linq 结合使用:


string varnames = new [] { "TOTAL_NORWAY", "TOTAL_SWEDEN" };

var query = _Context.theDataModel.FromSqlRaw(@"
                        select data
                            from data_table");
    
query = query.Where(x => varnames.Contains(x.Variable));
// Add more where clauses as needed
return await query.ToListAsync();

推荐阅读