Asp.net mvc Linq获取最新日期查询
我正在尝试根据下面的控制器获取最新日期,但遇到以下错误: 无法将类型为“System.Data.Entity.Infrastructure.DbQuery1[f_uAnonymousType201[System.Nullable`1[System.DateTime]]]”的对象强制转换为类型为“System.IConvertible”Asp.net mvc Linq获取最新日期查询,asp.net-mvc,linq,datetime,asp.net-mvc-4,max,Asp.net Mvc,Linq,Datetime,Asp.net Mvc 4,Max,我正在尝试根据下面的控制器获取最新日期,但遇到以下错误: 无法将类型为“System.Data.Entity.Infrastructure.DbQuery1[f_uAnonymousType201[System.Nullable`1[System.DateTime]]]”的对象强制转换为类型为“System.IConvertible” var latestDt = from n in db.Books where n.id == id
var latestDt = from n in db.Books
where n.id == id
select new { Date = n.dtBookBorrowed};
DateTime dtPlus1Year = Convert.ToDateTime(latestDt);
我可以知道如何获取linq中最新的列吗?我想如果您使用
DateTime.Parse(item.dateAsString)
您的问题应该得到解决。您可以尝试通过最新插入db来获取日期顺序列表
您定义的LINQ查询表达式返回一个具有属性Date的匿名对象集合,尽管可能只有一个记录匹配,因为ID是唯一的 在您的情况下,我们只需要可以解析为DateTime的目标字段,因此,流畅语法的替代方法如下:- var book=db.Books.SingleOrDefaultbook=>book.id==id;//获取匹配的书籍,否则为空 如果是书!=无效的 { var borrowedDate=Convert.ToDateTimebook.dtBookBorrowed; } 否则,如果您想更多地了解查询语法的行为,它可能返回多个结果,您可以简化为以下内容,返回DateTime对象的集合,即IEnumerable:- IEnumerable借来的日期= 从n到db.Books 其中n.id==id 选择Convert.ToDateTimen.dtBook;
为什么我需要将它解析为字符串,因为我需要在datetime中使用它?这正是datetime类想要的输入参数,而作为out参数,您将获得所需的日期时间。从var到string应该不是什么大问题。类型在C中是最重要的。最新的dt类型是什么?为什么您认为该类型不能转换为DateTime?
var latestDt = db.Books.Where(n => n.id == id).OrderByDescending(x => x.dtBookBorrowed).Select(x => x.dtBookBorrowed).ToList();