2015-03-19 134 views
0

嗨我想写一个SQL查询到LINQ查询。我的SQL查询是这样的:重写SQL到LINQ查询

select BookingArrivedEnquiredTime 
from BookingArriveds 
where BookingArrivedEnquiredDateTime='2015-02-17 00:00:00.000' 
order by CAST(('01/01/2000 ' + BookingArrivedEnquiredTime) AS DATETIME) 

我该如何在LINQ中编写这个查询?

回答

0

你可以尝试只是解析字符串日期时间:

var res = from item in BookingArrivedEnquiredTime.BookingArriveds 
      where item.BookingArrivedEnquiredDateTime == DateTime.Parse("2015-02-17 00:00:00.000") 
      orderby DateTime.Parse("01/01/2000 " + item.ToString()) 
      select item; 
+0

我想你的查询,但它给这个错误----------“> LINQ到实体无法识别方法” System.DateTime Parse(System.String)'方法,并且此方法不能被转换为存储表达式。而query是----------> var qr = from db.BookingArriveds中的item其中item.BookingArrivedEnquiredDateTime == Startdate orderby DateTime.Parse(“01/01/2000”+ item.BookingArrivedEnquiredTime)select item; – 2015-03-19 10:44:14

+0

是的,这可能是因为这只是一个例子,你没有提供你的数据表结构,也没有样例数据,所以恐怕这就是我现在可以提出的所有建议 – 2015-03-19 10:51:08

+0

嗨,我的表,我有一列BookingArrivedEnquiredTime与数据类型为varchar和价值观都是这样的上午07点01 上午8时51分 上午05时45分 上午9时35分 10:10 上午10:09 11: 03 AM 12:13 PM 11:53 AM 11:27 AM 11:24 AM – 2015-03-19 11:16:11