首页 > 解决方案 > DefaultIfEmpty 导致 Lambda 表达式错误

问题描述

我有一个相当简单的 lambda,如果结果集为空,它需要返回一个默认值。

         Trending blank = new Trending()
            {
                ID = 0,
                Username = "",
                NoteCount = 0,
                RecordDate = Convert.ToDateTime(StatDate),
                GroupID = 0
            };
            return _context.Trending
                .Where(x => x.Username == UserName && x.RecordDate == dt)
                .DefaultIfEmpty(blank)
                .FirstOrDefault();

当我执行此操作时,我得到一个 invalidoperationException,表明“NavigationExpandingExpressionVisitor”对 .DefaultIfEmpty 的处理失败。这可能表示 EF Core 中的错误或限制。

关于有什么问题的任何建议?这是我第一次不得不使用 DefaultIfEmpty,但它应该可以工作。

标签: c#asp.net-corelambda

解决方案


推荐阅读