1

私はVS2010B2とEF4B2を使用しており、RhinoMocksを使用してEEFによって生成されたエンティティコンテキストをモックしようとしています。

var context = MockRepository.GenerateMock<SomeDBEntities>();
IObjectSet<TxMode> objectSet = new List<TxMode> { mode }.AsObjectSet();
context.Expect(c => c.TxModes).Return(objectSet);

問題は、それc.TxModesがタイプのプロパティであるのObjectSet<TxMode>に対し、を返そうとするIObjectSet<TxMode>と、次のコンパイルエラーが発生することです。

Error 4 The best overloaded method match for 

'Rhino.Mocks.Interfaces.IMethodOptions<System.Data.Objects.ObjectSet
<Data.Entities.TxMode>>.Return(System.Data.Objects.ObjectSet
<Data.Entities.TxMode>)' has some invalid arguments.

AsObjectSet拡張メソッドはここから来ています。

これをコンパイルする方法はありますか?

4

1 に答える 1

4

これはできません。JulieLermanからの一連の投稿をチェックしてください

  1. アジャイルエンティティフレームワーク4リポジトリ:パート1-モデルとPOCOクラス
  2. アジャイルエンティティフレームワーク4リポジトリ:パート2-リポジトリ
  3. アジャイルEF4リポジトリ:パート3-リポジトリの微調整
  4. アジャイルEF4リポジトリパート4:コンパイルされたLINQクエリ
  5. アジャイルエンティティフレームワーク4リポジトリパート5:IObjectSetとインクルード

彼女は、EF4を使用してリポジトリパターンを構築し、それを模倣する方法を非常によく説明しています。T4テンプレートもありますが、それですべてがどのように機能するかを理解できます。適応されたT4テンプレートがなくても、それを稼働させるのはまだかなりの作業ですが、それは非常に良い演習だと思います。:)私は実際に今それを自分で実装しています。

幸運を ;)

于 2009-12-12T17:13:43.480 に答える