gpt4 book ai didi

c# - 在 LINQ 查询中创建 DateTime

转载 作者:行者123 更新时间:2023-12-05 08:33:20 25 4
gpt4 key购买 nike

我收到以下错误:

Only parameterless constructors and initializers are supported in LINQ to Entities.

我正在尝试从一个结果集中查询数据,并且部分新结果集返回一个新的日期字段。

var result = debts.Select(x => new 
{
x.Snowball.User.Email,
x.SnowballID,
x.Description,
x.ID,
x.DueDayOfMonth,
Due = new DateTime(ExecutionDate.Year,
ExecutionDate.Month,
x.DueDayOfMonth)
}).ToList();

有什么方法可以创建这个推导的日期时间?

最佳答案

我来这里是为了寻找同样的东西,但在进一步的研究中发现了另一种在 System.Data.Entity 中使用 DbFunctions.CreateDateTime 的方法。使用此方法,您的查询将如下所示:

var result = debts.Select(x => new 
{
x.Snowball.User.Email,
x.SnowballID,
x.Description,
x.ID,
x.DueDayOfMonth,
Due = DbFunctions.CreateDateTime(ExecutionDate.Year,
ExecutionDate.Month,
x.DueDayOfMonth, 0,0,0)
}).ToList();

编辑:这适用于 EF6 及更高版本,对于早期版本的 EF 使用 System.Data.Entity.Core.Objects.EntityFunctions 而不是 DbFunctions

关于c# - 在 LINQ 查询中创建 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42078523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com