Entity Framework: как выбрать int - PullRequest
4 голосов
/ 27 июля 2011

Мне нужно выбрать целое значение из таблицы:

int id = from s db.Table
         where s.Id == someParameter
         select s.intValueOfInterest;

Это не работает.Я пробовал это, но это выглядит очень уродливо:

int id = int.Parse((from s db.Table
         where s.Id == someParameter
         select s.intValueOfInterest).ToString());

Какой лучший способ сделать это?Спасибо.

Ответы [ 2 ]

7 голосов
/ 27 июля 2011

Используйте

int id = (from s in db.Table         
         where s.Id == someParameter         
         select s.intValueOfInterest).First().Value;

, если intValueOfInterest имеет значение null, или

int id = (from s in db.Table         
         where s.Id == someParameter         
         select s.intValueOfInterest).First();

если это не так.

Linq предполагает, что может быть более одного результата (даже если вы запрашиваете первичный ключ), поэтому мы используем .First () для возврата одного элемента, а .Value работает с нулем (на самом деле , он потерпит неудачу, если он будет нулевым).

1 голос
/ 27 июля 2011
var yourval = (from s in db.Table
     select s.intValueOfInterest).First(p=>p == someParameter);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...