Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq to sql 已编译查询和";参数不能为“序列”;_Linq To Sql_Contains_Linq.compiledquery - Fatal编程技术网

Linq to sql 已编译查询和";参数不能为“序列”;

Linq to sql 已编译查询和";参数不能为“序列”;,linq-to-sql,contains,linq.compiledquery,Linq To Sql,Contains,Linq.compiledquery,我认为编译后的查询将执行与DataContext相同的查询转换。然而,当我尝试使用带有.Contains方法调用的查询时,我遇到了一个运行时错误。我哪里出错了 //private member which holds a compiled query. Func<DataAccess.DataClasses1DataContext, List<int>, List<DataAccess.TestRecord>> compiledFiftyRecordQue

我认为编译后的查询将执行与DataContext相同的查询转换。然而,当我尝试使用带有.Contains方法调用的查询时,我遇到了一个运行时错误。我哪里出错了

//private member which holds a compiled query.
Func<DataAccess.DataClasses1DataContext, List<int>, List<DataAccess.TestRecord>>
  compiledFiftyRecordQuery = System.Data.Linq.CompiledQuery.Compile
  <DataAccess.DataClasses1DataContext, List<int>, List<DataAccess.TestRecord>>
  ((dc, ids) => dc.TestRecords.Where(tr => ids.Contains(tr.ID)).ToList());

//this method calls the compiled query.
public void FiftyRecordCompiledQueryByID()
{
  List<int> IDs = GetRandomInts(50);

  //System.NotSupportedException
  //{"Parameters cannot be sequences."}

  List<DataAccess.TestRecord> results = compiledFiftyRecordQuery
    (myContext, IDs);         
}
//保存已编译查询的私有成员。
Func
compiledFiftyRecordQuery=System.Data.Linq.CompiledQuery.Compiled
((dc,ID)=>dc.TestRecords.Where(tr=>ids.Contains(tr.ID)).ToList());
//此方法调用已编译的查询。
public void FiftyRecordCompiledQueryByID()
{
列表ID=GetRandomInts(50);
//System.NotSupportedException
//{“参数不能是序列。”}
列表结果=compiledFiftyRecordQuery
(myContext,IDs);
}
有你的答案:

不能删除具有列表参数的查询 已预编译,因为 查询取决于号码 列表中项目的名称