【发布时间】:2021-09-08 20:58:57
【问题描述】:
这是我的 SQL 查询。我正在尝试使用 linq 查询在我的 .NET Core Web 应用程序中产生相同的结果。
SELECT *
FROM dbo.BUD
WHERE LEFT(PeriodD, 4) = YEAR(GETDATE())
这是我在 linq 查询中尝试过但没有成功的方法
List<SelectListItem> budNames = _ctx.Budgets.AsNoTracking()
.Where(n => (n.Period, 4) == GETDATE())
.Select(n => new SelectListItem
{
// values
}).ToList();
【问题讨论】:
-
n.Period 是 DateTime 类型吗?
-
它是一个字符字段 YYYYMM,很抱歉这可能会有所帮助。
-
比较必须包括
YEAR(GETDATE())- 否则,你是在比较一个特定的时刻 - 而不是一整年!