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 に答える