【问题标题】:Cannot access the field value from the Linq query EF Core无法从 Linq 查询 EF Core 访问字段值
【发布时间】: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&lt;Setting&gt;' does not contain a definition for 'StartTime' and no accessible extension method 'StartTime' accepting a first argument of type 'IQueryable&lt;Setting&gt;' 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


【解决方案1】:

问题主要是它仍然是IQueryable&lt;Setting&gt;,您需要实际实例:

    stringstart_time = settings_data.First().StartTime;

【讨论】:

    猜你喜欢
    • 2020-03-29
    • 1970-01-01
    • 2021-02-22
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多