Вы создаете анонимный объект в своем запросе linq, если вам нужно только имя, тогда вам нужно просто спроецировать свойство name
без выражения new { }
, которое будет просто значением string
, как:
string lastInsertedName = (from p in context.Products
orderby p.ProductID descending
select p.name).First();
и помните, что First()
сгенерирует исключение во время выполнения, если в таблице Products
не найдена строка, для которой у нас есть FirstOrDefault()
, которая вернет null
в случае, еслинет строки:
string lastInsertedName = (from p in context.Products
orderby p.ProductID descending
select p.name).FirstOrDefault();
В вашем текущем примере кода вам потребуется доступ к свойству name
вашего анонимного объекта, и анонимный объект на самом деле не нужен в текущем сценарии, простой string
достаточно, но просто чтобы проиллюстрировать, как это сделать с помощью предоставленных битов кода, вот оно:
var query = (from p in context.Products
orderby p.ProductID descending
select new
{
p.Name
}).First();
string lastInsertedName = query.name;
На всякий случай, если строки не существует:
var query = (from p in context.Products
orderby p.ProductID descending
select new
{
p.Name
}).FirstOrDefault();
string lastInsertedName = query?.name;
Надеюсьпомогает.