Выбрать данные из запроса без ссылки на таблицу? - PullRequest
0 голосов
/ 09 мая 2011

У меня есть инструмент, использующий LINQ-to-SQL, и иногда мне требуется только одна строка предоставленных мною текстовых данных.В прошлом я делал что-то вроде этого:

results = (from x in [tablename] select new {myValue1 = "TextValue1", myValue2 = "TextValue2"}).Distinct();

Но для этого требуется хотя бы одна строка в [tablename], на которую я больше не могу положиться.

EDIT:Лучший пример, чтобы узнать, почему мне нужно это сделать;Мне нужен этот запрос (это все, что я могу отредактировать в своей программе), чтобы он возвращал все в «результатах» и был правильно упорядочен:

results = from z in (
 from x in [tablename]
 select new 
 {
  myValue1 = "TextValue1",
  myValue2 = "TextValue2"
 }
).Union(
 from y in [tablename]
 select new 
 {
  y.myValue1,
  y.myValue2
 }
)
orderby z.myValue1,z.myValue2
select new 
{
 z.myValue1,
 z.myValue2
};

Ответы [ 2 ]

1 голос
/ 10 мая 2011

Поскольку ваш метод возвращает обычный IList, вы можете просто сделать что-то подобное?

var results = new ArrayList();
results.Add(new {myValue1 = "First", myValue2 = "First"});
results.AddRange(myLinqQuery.ToList());
return results;

... где myLinqQuery - ваш существующий запрос.

0 голосов
/ 09 мая 2011

для одного ряда вы можете использовать

First () // Выдает ошибку, если значение не возвращается

или

FirstOrDefault () // не выдает ошибку, если значение не возвращается

    results = (from x in [tablename] select new {myValue1 = 
"TextValue1", myValue2 = "TextValue2"}).Distinct().FirstOrDefault();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...