2009-06-09 10 views
0

で間違った結果を返す、私はこのクエリを持っている:亜音速InlineQueryは亜音速の2.2を使用してExecuteAsCollection

「メディア」テーブル内のすべての単一のエントリで「マッチ」の結果をループ
string q = @"SELECT Media.Id, Media.Title FROM Media WHERE Media.UserId = 7" 
DAL.MediumCollection matches = new InlineQuery().ExecuteAsCollection<DAL.MediumCollection>(q).Load(); 

。しかし

、私はこれを行う:

それが正しい行を返す
IDataReader reader = new InlineQuery().ExecuteReader(q); 

。 ExecuteAsCollectionがExecuteReaderとまったく異なるものを返すのはなぜですか?他の誰かがこの奇妙な行動を経験していますか?

答えて

2

あなたが.Load()を呼び出していると思います。それが元のクエリを上書きしています。

0

ExecuteAsCollection()はそれを実行します。

Load()メソッドを呼び出すと、new DAL.MediumCollection().Load()と同じようにテーブル内のすべてのデータが返されます。