Псевдоним столбца LINQ Query - PullRequest
2 голосов
/ 30 марта 2011

У меня есть такой запрос, где я хочу объединить эти два запроса. Но условие объединения заключается в том, что оба результата из двух таблиц должны иметь одинаковое имя столбца, поэтому GroupName необходимо получить, но в этом запросе он должен быть псевдонимом Type1.

var vTLst = (from t in db.Types select t.Type1).Union
            (from g in db.Groups select g.GroupName).ToList().Distinct();

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

1 Ответ

0 голосов
/ 30 марта 2011

Это неправильно, если t.Type1 и g.GroupName являются столбцами и того же типа, ваш запрос должен работать. Результатом будет просто IQueryable<string> или любой другой тип столбца, без анонимного типа с именами или чем-либо еще.

Если у вас более сложный запрос с большим количеством столбцов или анонимных типов, вы можете использовать псевдонимы столбцов.

var vTLst = (from t in db.Types select new {Col1 = t.Type1, Col2 = t.Type2}).Union
            (from g in db.Groups select new {Col1 = g.GroupName, Col2 = g.Col2})
            .ToList().Distinct();

Если ваша проблема в том, что столбцы не одного типа, вы можете преобразовать их в один и тот же тип

var vTLst = (from t in db.Types select t.Type1.ToString()).Union
            (from g in db.Groups select g.GroupName.ToString()).ToList().Distinct();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...