SubSonic InlineQuery возвращает неверные результаты с помощью ExecuteAsCollection - PullRequest
0 голосов
/ 09 июня 2009

Используя SubSonic 2.2, у меня есть этот запрос:

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 ]

2 голосов
/ 09 июня 2009

Я думаю, это потому, что вы звоните .Load (). Это переписывает ваш оригинальный запрос.

0 голосов
/ 10 июня 2009

ExecuteAsCollection () должен это сделать.

Когда вы вызываете метод Load (), это все равно, что делать new DAL.MediumCollection().Load(), который возвращает все данные в таблице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...