Возврат единственного значения с Linq к SQL

Я играл вокруг в течение последних месяцев, таким образом, на основе недавнего опыта...

Вам нужны Mac, iPhone или iPod touch и прием на программе разработки Apple.

Mac собирается стоить - самый дешевый подход был бы Мини-Mac - и должен быть тем Intel при размышлении о секундной стрелке. Так же iPhone или iPod touch являются инвестициями - и устройство должно ограничиваться Mac и определяться устройство разработки, таким образом, может быть некоторый риск с использованием iPhone с подпиской (я струсил и принес касание для разработки)

XCode - среда разработки и iPhone SDK являются бесплатной загрузкой. Документация превосходна и существует партия примеров. Даже видео учебные руководства довольно хороши для обзора высокого уровня.

я действительно начинаю любить Objective C. При наличии существенного фона C в прошлом, но никогда не действительно сделавший его, прошлое основное подмастерье с C++, его тонкий подход обертки по C выглядит странным сначала, но оценка действительно растет с использованием. Если Вы знаете C тогда, это - немного больше, чем обычная 'погрузка новый язык/SDK' проблема. Если Вы не знаете C или в не довольный использованием указателей, выделением памяти и т.д тогда, это могло быть существенной кривой обучения и омрачить любые инвестиции в оборудование.

14
задан Mike 9 October 2009 в 15:10
поделиться

3 ответа

Linq, по умолчанию всегда возвращает коллекции. Если вам нужно одно значение, вы можете применить .Single () , .SingleOrDefault () или .First () или .FirstOrDefault ( ) методы.

Они немного различаются по своему назначению. Single () и SingleOrDefault () будут работать, только если в результате будет ровно или максимум одна запись. First () и FirstOrDefault () будут работать, даже если есть другие результаты.

Варианты * OrDefault () вернут значение по умолчанию для тип в случае, если результат не содержит записей.

29
ответ дан 1 December 2019 в 06:43
поделиться
var notify = (from s in db.AccountSettings
              where s.UserName == username
              select s.NotifyOnComment).DefaultIfEmpty(false).First();

//notify will either hold a bool or the AccountSettings object so
return (!(notify == false)); // Thanks Nick. Amazing what you'll do in a hurry.
9
ответ дан 1 December 2019 в 06:43
поделиться

Если вы ожидаете только один результат, просто используйте Single или SingleOrDefault , чтобы получить логическое значение. Если вы хотите получить первый результат, вы можете использовать First или FirstOrDefault .

1
ответ дан 1 December 2019 в 06:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: