2009-06-09 3 views
0

Использование дозвуковых 2.2, у меня есть этот запрос:SubSonic InlineQuery возвращаются неправильные результаты с 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(), который возвращает все данные в таблице.

Смежные вопросы