MVC Entity Framework对string转换DateTime 之后的比较

MVC中我用的是net4.0环境

情景:查询页面新增时间查询

前台的easyui-datebox 的name=“DateS”传到后台为string格式,但是数据库中的DataTime 栏位格式为Datetime格式,MVC中那的连接数据库model中DataTime 为Datetime格式。我们通过查询来做比较,就得把前台传入后台的string转换为Datetime与Sql的DataTime 栏位值作比较。

问题:

连接数据库查询语句为:

oqcList=dboqc.dbset_oqc.Where(q=>( q.DataTime > Convert.ToDateTime(DateS)).ToList(); //直接连接数据库查询

错误:

报错为LINQ.to Entities不识别这个Convert.ToDateTime这个方法

解决问题:

var oqcList11=dboqc.dbset_oqc.ToList();//先把数据库中的数据全部捞出

List<OQCList> oqcList = new List<OQCList>();  

 oqcList =oqcList11.Where(q => (q.DataTime >=Convert.ToDateTime(DateS )||DateS == "") ).ToList();

存在的弊端:如果数据太过庞大,那么查询速度会很慢,影响效率。

而且如果把数据库查询出来的datetime栏位值存储起来,会出现上下午字段,这是受到本机PC系统中文时间文化影响。解决方案为:list<string> savetime=new list<string>();

savetime= oqcList[i].DataTime.ToString("yyyy-MM-dd HH:mm:ss", new System.Globalization.CultureInfo("zen-GB"));//红色字体意思为用英文时间文化,进行了格式化,将上下午进行去除。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值