Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Linq获取最新日期查询_Asp.net Mvc_Linq_Datetime_Asp.net Mvc 4_Max - Fatal编程技术网

Asp.net mvc Linq获取最新日期查询

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

我正在尝试根据下面的控制器获取最新日期,但遇到以下错误:

无法将类型为“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
                       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();