linq to object 肯定不会报错
linq to sql 用SqlMethod
linq to Entity 用
System.Data.Objects.EntityFunctions.DiffDays和System.Data.Objects.SqlClient.SqlFunctions
select 中的如果还报错,可以查出来之后再转
嗯,linq to object 不会报错,我用的是ctp5,关于System.Data.Objects.SqlClient.SqlFunctions.可以说得详细一点吗,是用where System.Data.Objects.SqlClient.SqlFunctions.xx(date)>DateTime.Now,但是我没有在里面找到合适的方法呀,xx方法是什么方法呢?
@周念中:
方法很多,可以参考 msdn
where System.Data.Objects.SqlClient.SqlFunctions.DateDiff("s",DateTime.Now,date)>0
where System.Data.Objects.EntityFunctions.DiffSeconds(DateTime.Now,date)>0
@Qlin: Thanks!
linq to entities 么?
是呀,就是怎么实现sql中的 where cast(date as Datetime)>GETDATE()
1 IEnumerable<FriendLinkEntity> list = null; 2 var query = from f in _db.FriendLinkEntitys 3 where f.IsDisplay == true && f.IsDelete == false && f.EffectiveDate > DateTime.Now 4 orderby f.AddDate, f.Sort descending 5 select new 6 { 7 f.LinkName, 8 f.LinkUrl 9 }; 10 list = query.Take(top).ToList().ConvertAll<FriendLinkEntity>(item => new FriendLinkEntity() 11 { 12 LinkName = item.LinkName, 13 LinkUrl = item.LinkUrl 14 }); 15 return list;
转换一下就可以了
这个最后返回的还是 IEnumerable类型,我的需求是暂时不能转换为实体集合,而且f.EffectiveDate > DateTime.Now中的f.EffectiveDate我的条件是一个字符串类型的就是不能直接比较的,所以才烦恼