为了账号安全,请及时绑定邮箱和手机立即绑定

请问linq中select和where中不能进行类型转换,那么怎么进行过滤和返回?比如

请问linq中select和where中不能进行类型转换,那么怎么进行过滤和返回?比如

拉丁的传说 2018-12-06 23:41:49
var query=from date from dates where Convert.ToDateTime(date)>DateTime.Now select new { iseligbility=DateTime.Parse(date)<Datetime.Now.Addyear(5) }; 这样肯定是会报错的,因为不能在where中和select中使用类型转换,那么如何实现这个效果呢?还有一个条件是不能使用tolist(),暂时没有加载到本地。
查看完整描述

4 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

linq to object 肯定不会报错

linq to sql 用SqlMethod 

linq to Entity 用

System.Data.Objects.EntityFunctions.DiffDays和System.Data.Objects.SqlClient.SqlFunctions

select 中的如果还报错,可以查出来之后再转

 

 

查看完整回答
反对 回复 2019-01-21
?
Helenr

TA贡献1780条经验 获得超3个赞

是呀,就是怎么实现sql中的  where cast(date as Datetime)>GETDATE()

查看完整回答
反对 回复 2019-01-21
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

 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;

转换一下就可以了

查看完整回答
反对 回复 2019-01-21
?
九州编程

TA贡献1785条经验 获得超4个赞

这个最后返回的还是 IEnumerable类型,我的需求是暂时不能转换为实体集合,而且f.EffectiveDate > DateTime.Now中的f.EffectiveDate我的条件是一个字符串类型的就是不能直接比较的,所以才烦恼

查看完整回答
反对 回复 2019-01-21
  • 4 回答
  • 0 关注
  • 365 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信