gpt4 book ai didi

c# - 如何在linq中查询可为空的日期时间

转载 作者:行者123 更新时间:2023-11-30 13:57:06 24 4
gpt4 key购买 nike

我正在调用以下查询,以仅显示字段名称“UploadDate”中的最新日期,但是我遇到异常错误,例如:

The entity or complex type 'cdwModel.database_BD' cannot be constructed in a LINQ to Entities query.","ExceptionType":"System.NotSupportedException","StackTrace":

代码:

public IEnumerable<database_BD> GetDate()
{
var data = (from c in db.database_BD
select new database_BD()
{
UploadDate = c.UploadDate

}).ToList().OrderByDescending(c => c.UploadDate).Take(1);

return data;
}

database_BD模型类:

public partial class database_BD
{
public Nullable<System.DateTime> UploadDate { get; set; }
}

工作解决方案:

public DateTime? GetDate()
{
return data = db.database_BD.Select(d => d.UploadDate)
.OrderByDescending(c => c)
.FirstOrDefault();
}

最佳答案

如果您只想显示 UploadDate 的最新日期,则无需创建新的数据库对象。

在此示例中,数据将是单个日期值,如果没有记录,则为 null:

var data = db.database_BD.Select(d => d.UploadDate)
.OrderByDescending(c => c)
.FirstOrDefault();

如果您需要返回一个 database_BD 对象,您将删除更改输出的选择:

public database_BD GetDate()
{
var data = db.database_BD.OrderByDescending(c => c.UploadDate)
.FirstOrDefault(a => a.UploadDate.HasValue);
return data;
}

这将为您提供表中最新的 database_BD 对象。

关于c# - 如何在linq中查询可为空的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23065339/

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