我尝试使用EF获取用户列表。我在表中有一个文件,它的返回日期是字符串数据类型。现在我将这个返回日期与今天的日期进行比较,然后我得到了error.so任何想法如何在C#中将字符串转换为datetime。
这是查询:
var res = db.users
.Where(a => Convert.ToDateTime(a.returndate) > DateTime.Now)
.ToList(); // but here not getting list
Run Code Online (Sandbox Code Playgroud)
因此可以将EF字符串转换为DateTime。如果有人有主意,请告诉我。
您不能在中使用Convert.ToDatetimemethod LINQ to Entities,因此首先从db获取数据,然后使用list上的method
var res = db.users.ToList().Where(a => DateTime.ParseExact(a.returndate,"dd-MM-yyyy",CultureInfo.InvariantCulture) > DateTime.Now).ToList();
Run Code Online (Sandbox Code Playgroud)
注意:如果你可以改变你columns data type对DateTime类型,那么你可以对它们进行比较的LINQ To Entities,否则你应该做如上
根据您的评论来质疑您需要做什么
var res = db.users.ToList().Where(a => DateTime.ParseExact(a.returndate, "dd-MM-yyyy", CultureInfo.InvariantCulture) > DateTime.Now);
Run Code Online (Sandbox Code Playgroud)
在您的情况下Convert.ToDateTime(string str)不起作用,因为传递的DateTime格式与您系统的格式不同。
顺便提一句,
....EF 字符串到日期时间的转换。
切勿将日期时间字符串存储在数据库中。数据库具有相应的 DateTime 类型,您可以将信息存储为 DateTime 本身。这样,当传入值时,您就不必重复代码。
| 归档时间: |
|
| 查看次数: |
16988 次 |
| 最近记录: |