12

私は CodeFirst アプローチを使用しており、DbSet を ObjectQuery に変換する必要があるという問題に遭遇しました。これは私が変換のために行ったことです。

ObjectContext objectContext = ((IObjectContextAdapter)db).ObjectContext;
ObjectSet<Request> objectSet = objectContext.CreateObjectSet<Request>();

ここで、db は DbContext から継承するコンテキストであり、Request はクラスです。

そのため、ObjectQuery を ObjectQueryMethod(objectSet) として期待するメソッドを呼び出そうとすると、次のエラーがスローされます。

「'System.Data.Entity.DbSet<>' と 'System.Data.Objects.ObjectQuery<>' の間に暗黙的な変換がないため、条件式の型を特定できません」

どんな助けでも大歓迎です!

4

2 に答える 2

23

私は答えを見つけました。もちろん、以下のコード行を使用して、EntityFrameworkのDbSetをObjectQueryに変換することは可能です。

ObjectContext objectContext = ((IObjectContextAdapter)db).ObjectContext;  
ObjectSet<Request> objectSet = objectContext.CreateObjectSet<Request>("Requests");

どこ、

  • db-から継承するコンテキストクラスDbContext
  • Requests-ContextDbSet<Request>クラスで定義されています。
  • objectSet-として渡すことができるようになりましたObjectQuery
于 2012-06-29T13:29:33.550 に答える