0

我正在尝试编译一个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

4

1 回答 1

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
于 2013-01-09T22:01:52.590 回答