Как я могу выбрать данные с linq to sql из другого запроса? - PullRequest
0 голосов
/ 30 ноября 2011

Как я могу выбрать данные с таким кодом linq to sql, это что-то не так, я должен сравнить ГДЕ, от st1 и st2, но что-то не так.Также spaller не освещал эти переменные, где

var st1 = (from a in db.RouteDetail
                          where a.Station == "Гродно"
                          select new 
                          {
                              a.Route,
                          });
                var st2 = (from c in db.RouteDetail
                          where c.Station == "Лида"
                          select new 
                          {
                              c.Route,
                          });
                var res = (from d in db.RouteDetail
                           where st1.Route == st2.Route
                           select d);

Помогите мне сделать это, пожалуйста.

1 Ответ

1 голос
/ 30 ноября 2011

Я думаю, что вы хотите сделать, это что-то вроде этого:

var st1 = (from a in db.RouteDetail
                      where a.Station == "Гродно"
                      select new 
                      {
                          a.Route,
                      });
var st2 = (from c in db.RouteDetail
                      where c.Station == "Лида"
                      select new 
                      {
                          c.Route,
                      });

И st1, и st2 теперь содержат IQueryable типы, которые позволяют вам перечислять их. Я предполагаю, что ваши два запроса возвращают только один результат, в этом случае:

var station1 = st1.FirstorDefault();
var station2 = st2.FirstorDefault();

var res = (from d in db.RouteDetail
           where station1.Route == station2.Route
           select d);

Будет делать то, что вам нужно (если они возвращают результат, здесь нет никакой безопасности для нулевых исключений) Однако, если есть более одного результата, он вернет только первое совпадение. В этом случае вам нужно будет отработать все возможные композиции из значений в st1 и st2

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