![](/img/trans.png)
[英]Entity Framework Core with linq does not translate enum in a in query
[英]What does casting a string to DateTime in an Entity Framework Core LINQ query return?
我的应用程序使用 Entity Framework Core 从 SQL 数据库加载数据。 为了避免加载我的表Schedule
的所有数据条目并在之后过滤它们,我想通过将Schedule.Date
条目(一个字符串)与先前创建的DateTime
object 名称进行比较来在数据库查询中过滤它们targetDate
。 由于在此查询中无法直接使用DateTime.Parse
将Schedule.Date
转换为DateTime
,因此我将其转换为object
,然后显式转换为DateTime
。 以下行代表我正在做的事情:
Schedule schedule = _context.Schedule.Where(s => (DateTime)(object)s.Date >= targetDate).First();
这目前工作正常。 但是,我不想以后遇到问题,所以我需要了解在这种情况下转换为DateTime
使用哪种格式。 尽管数据库中的日期是字符串,但它们都以en-US
格式提供,并且投射它们似乎只使用这种格式,这很好。 我如何确定它始终使用这种格式,以及在使用这样的演员表时如何确定要使用的格式?
假设您使用的是 SQL 服务器
虽然数据库中的日期是字符串,
由于多种原因,这很糟糕。 在这里,您需要进行表扫描以将所有字符串转换为日期以执行比较。
它们都以 en-US 格式提供,并且投射它们似乎只使用这种格式,这会很棒。 我如何确定它始终使用这种格式,以及在使用这样的演员表时如何确定要使用的格式?
转换在 SQL 服务器中完成,它将根据连接的当前语言将字符串转换为日期。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.