C# 实体框架-where子句中的DateTime

C# 实体框架-where子句中的DateTime,c#,entity-framework,linq-to-entities,C#,Entity Framework,Linq To Entities,我正在尝试将此代码从存储过程转换为“LINQ到实体”查询: 像这样的事情也行不通。该错误表示不支持带参数的构造函数: where new DateTime(b.Venue_Date.Value.Year, b.Venue_Date.Value.Month, b.Venue_Date.Value.Day, b.Start_Time.Value.Hour, b.Start_Time.Value.Minute, b.Start_Time.Value.Second) <= request.

我正在尝试将此代码从存储过程转换为“LINQ到实体”查询:

像这样的事情也行不通。该错误表示不支持带参数的构造函数:

where new DateTime(b.Venue_Date.Value.Year, b.Venue_Date.Value.Month,
  b.Venue_Date.Value.Day, b.Start_Time.Value.Hour, b.Start_Time.Value.Minute,
  b.Start_Time.Value.Second) <= request.EndDate
其中新的日期时间(b.venture\u Date.Value.Year、b.venture\u Date.Value.Month、,
b、 地点日期值日开始时间值小时开始时间值分钟,

b、 Start_Time.Value.Second)更改模式是一个选项吗?我的经验是,当存储单独的列时,例如:

  • 日期
  • 开始时间(作为日期)
  • 停止时间(作为日期)
…另外,在
date
StartTime
列中冗余存储日期是一个巨大的优势。这不仅仅是因为它使您的查询(1)更容易编写,(2)查询现在可以使用索引


这两种方法我都用过,我更喜欢这种方法。

所以。。。这里的实际问题是什么?嗨,雷克斯M-我只是想知道是否有一种方法可以使用LINQ实现这一点,或者我必须求助于一个程序。谢谢克雷格的回复。不幸的是,我无法改变令人讨厌的模式:(-现在通过实体框架扩展使用存储过程。。。
where b.Venue_Date.Value.AddHours(b.Start_Time.Value.Hour) <= request.EndDate
where new DateTime(b.Venue_Date.Value.Year, b.Venue_Date.Value.Month,
  b.Venue_Date.Value.Day, b.Start_Time.Value.Hour, b.Start_Time.Value.Minute,
  b.Start_Time.Value.Second) <= request.EndDate