2015-08-04 6 views
0

У меня возникла проблема с аналогичными запросами LINQ в том же наборе данных в Visual Studio. Может ли кто-нибудь сказать мне, что происходит и как это исправить?Ошибка запроса нескольких LINQ

Это то, что я пытаюсь сделать, что бомбы:

Dim raw = db.GetRawData() 
GridView2.DataSource = (From p In raw Select p.Nme, p.val).Where(Function(w) w.Grade = "A") 
GridView3.DataSource = (From p In raw Select p.Nme, p.val).Where(Function(w) w.Grade = "B") 
GridView2.DataBind() 
GridView3.DataBind() 

Но это работает:

GridView2.DataSource = (From p In raw Select p.Nme, p.val).Where(Function(w) w.Grade = "A") 
GridView3.DataSource = otherdata 

И так делает это:

GridView2.DataSource = otherdata 
GridView3.DataSource = (From p In raw Select p.Nme, p.val).Where(Function(w) w.Grade = "B") 

И это Безразлично t t:

GridView2.DataSource = (From p In raw Select p.Nme, p.val).Where(Function(w) w.Grade = "A") 
GridView3.DataSource = (From p In raw Select p.Nme, p.val).Where(Function(w) w.Grade = "A") 

Так что факт, что я вызываю аналогичный запрос несколько раз, кажется, является проблемой.

+1

Не могли бы вы опубликовать фактическую ошибку? – asawyer

+0

Это происходит при выполнении веб-страницы. Ошибка 404. – ariansa

ответ

0

Принудительное немедленное выполнение с помощью ToList() делает трюк:

Dim raw = db.GetRawData().ToList() 
GridView2.DataSource = (From p In raw Select p.Nme, p.val).Where(Function(w) w.Grade = "A") 
GridView3.DataSource = (From p In raw Select p.Nme, p.val).Where(Function(w) w.Grade = "B") 
GridView2.DataBind() 
GridView3.DataBind() 
Смежные вопросы