【发布时间】:2021-12-26 08:12:59
【问题描述】:
我正在尝试构建一个 .NET 核心应用程序,它使用 EF 核心和 alos 使用缓存来存储一些查询响应。我在访问 LINQ 查询响应中的字段时遇到问题。我不确定我在这里缺少什么。 SQL Server DB中有一个设置表,模型如下
public partial class Setting
{
public string EndTime { get; set; }
public string StartTime { get; set; }
public string OrderDay { get; set; }
public int SettingsId { get; set; }
}
并尝试在名为 CustomersController 的控制器中像下面这样查询它
public class CustomersController : Controller
{
............
IQueryable<JAXSurplusMouseApp.Models.Setting> settings_data = null;
.....................
bool isSettingExist = memoryCache.TryGetValue("SMSettings", out settings_data);
if (!isSettingExist)
{
string myCondition = (todayDt.DayOfWeek.ToString().Substring(0, 3)).ToUpper();
settings_data = (from s in _context.Settings
where s.OrderDay == myCondition
select s).Take(1);
var cacheEntryOptions = new MemoryCacheEntryOptions()
.SetSlidingExpiration(TimeSpan.FromHours(2));
memoryCache.Set("SMSettings", settings_data, cacheEntryOptions);
}
if(settings_data.Count() != 0)
{
stringstart_time = settings_data.StartTime;
}
我收到'IQueryable<Setting>' does not contain a definition for 'StartTime' and no accessible extension method 'StartTime' accepting a first argument of type 'IQueryable<Setting>' could be found (are you missing a using directive or an assembly reference?) 之类的错误,我确定我在这里遗漏了一些东西,但不确定我遗漏了什么,非常感谢任何帮助
【问题讨论】:
-
stringstart_time = settings_data.First().StartTime; -
成功了,如果您想将其发布为答案,我可以接受
标签: c# asp.net-core .net-core entity-framework-core asp.net-core-mvc