2013-12-01 3 views
-1

У меня есть проблема с query.ToList()IQeryable.ToList() возвращает те же строки

View V1 имеет эти данные:

Id Id1 Id2 Value 
1 1 1 1 
2 1 1 2 
3 1 1 3 
4 1 1 4 

Я использую этот запрос:

 using (ModelContainer context = new ModelContainer()) 
     { 
      IQueryable<V1> query = context.V1; 

      query = query.Where(a => a.Id1 == 1); 

      query = query.Where(a => a.Id2 == 1); 

      var result = query.ToList(); 

      return result; 
     } 

результат заполняется следующими данными: 4 строки правильные, но всегда строка1 от V1

Id Id1 Id2 Value 
1 1 1 1 
1 1 1 1 
1 1 1 1 
1 1 1 1 

Что случилось?

EDIT: строка запроса верна в отладчике, в профайле sql также показан правильный запрос. если я запустил запрос в студию управления sql, я получаю строки 1-4 правильно. Рамочная ошибка?

+0

Что вы пытаетесь сделать? –

+0

Получение строк 1-4 вместо получения строки 1 4 раза. –

+1

Ну, нет ничего плохого в коде, который вы предоставили, поэтому я могу только предположить, что либо ваша предпосылка о том, что содержит представление, является неправильной, либо вы не выполняете корректный результат. –

ответ

0

Я изменил все, что нужно:

var result = query.Where(a => a.Id1== 1).Where(a => a.Id2 == 1).Select(a => a.Value).ToList();        

, потому что мне нужно только значение.

Это не решает проблему отображения или сопоставления, но это временное решение, которое соответствует моим потребностям. Теперь я получаю:

value 
1 
2 
3 
4 
+0

http://stackoverflow.com/questions/9942331/ef4-returns-incorrect-values-when-selecting-from-summary-view –

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