Вы можете использовать метод расширения Single
:
var result =
(from c in db.productInfo
where c.flavor == "Classic Coke" && c.container == "Can"
select c.co2Target).Single();
Другие связанные методы расширения: SingleOrDefault
, First
и FirstOrDefault
.
Разница между Single и First заключается в том, что Single выдает исключение, если запрос приводит к более чем одному результату. Варианты OrDefault вернут null
, если запрос не вернул никаких результатов, в то время как Single и First выдают исключение, если результат не существует.
Если вы используете Entity Framework 3.5, он не поддерживает Single
, поэтому вам придется использовать First
.
Еще одна вещь, на которую стоит обратить внимание, это то, что ваш оригинальный код привел к IQueryable<T>
, что означает, что он фактически не выполняет запрос, пока вы не оцените результат. Использование любого из этих методов расширения приведет к немедленному выполнению запроса.