我正在尝试编译linq
查询。
Func<ImportNewPermits_Enviance, String, EnumerableRowCollection<ImportNewPermits_Enviance._History_for_Permit__POI__Data_Row>> s_compiled =
CompiledQuery.Compile<ImportNewPermits_Enviance, String, EnumerableRowCollection<ImportNewPermits_Enviance._History_for_Permit__POI__Data_Row>>(
(ctx, poiName) => from r in ctx._History_for_Permit__POI__Data_
where r.POI_Name == poiName
select r);
现在我正面临错误There is no implicit reference conversion from ImportNewPermits_Enviance to System.Data.Objects.ObjectContext
ImportsNewPermits_Enviance
是已键入的DataSet
的名称。
如何从键入的ObjectContext
DataSet
答案 0 :(得分:0)
我不明白你为什么需要编译查询。如果您对类型化的DataSet使用Linq查询,那就是一种Linq To Objects查询,这意味着它在内存中执行,这应该非常快。但是,如果您真的想要编译Linq to Objects查询,可以在要查询的IEnumerable上调用AsQueryable(),然后存储生成的查询以供以后评估。我相信这将导致Linq to Objects提供程序编译查询,即:
var compiledQuery = from r in _History_for_Permit__POI__Data_.AsQueryable()
where r.POI_Name == poiName
select r