Asp.net core 如何在异步代码中获得单个属性
我有下面的模型课-Asp.net core 如何在异步代码中获得单个属性,asp.net-core,asynchronous,asp.net-core-mvc,asp.net-core-3.1,Asp.net Core,Asynchronous,Asp.net Core Mvc,Asp.net Core 3.1,我有下面的模型课- public partial class Settings { public int Id { get; set; } public string Value { get; set; } public string Name { get; set; } } 在我的asp.net core MVC 3.1中,我只想获取单个项目的值,现在我无法做到这一点:- var result = await _contex
public partial class Settings
{
public int Id { get; set; }
public string Value { get; set; }
public string Name { get; set; }
}
在我的asp.net core MVC 3.1中,我只想获取单个项目的值,现在我无法做到这一点:-
var result = await _context.Settings.SingleOrDefaultAsync(a => a.Name.ToLower() == "noofvisits").Value;
唯一的方法是首先从数据库中获取整个对象,然后获取其值,如下所示:-
var result = await _context.Settings.SingleOrDefaultAsync(a => a.Name.ToLower() == "noofvisits");
var val = result.Value;
但是,为了使我的代码更高效,如何直接从数据库异步获取Value属性?您应该使用原始Sql查询 试试这个:
var result = await _context.Settings.FromSql("SELECT Top(1) NAME FROM dbo.Settings ").SingleOrDefaultAsync();
请尝试以下语句:
var result = await _context.Settings.Where(a => a.Name.ToLower() == "noofvisits").Select(o => o.Value).FirstOrDefaultAsync();