zoukankan      html  css  js  c++  java
  • LINQ to Entities does not recognize the method 'Int64 ToUnixTime(System.DateTime)' method,and this method cannot be translated into a store expression

    关于在LINQ表达式中出现错误,就是方法不能将时间转成表达式,经过不断的思考,终于明白了转码解决。本人就是想把后台的时间对象转成时间戳然后传给前台调用。

    这样就出错:

     var comments = CommentSrv.GetListByCondition(t => t.ProductId == id //商品评论

                                     && t.Type ==Type

                                     && t.Content != null

                                    && t.Content != " ").OrderByDescending(t => t.CreateDate);
     var product = new {//展示商品的评论内容(包含时间,商品名,评论)
                        data.ID,
                        data.Name,
                        Commnents = comments,
                        CreateDate = t.CreateDate.ToUnixTime()//时间转换
                        };

    失败提示:
    LINQ to Entities does not recognize the method 'Int64 ToUnixTime(System.DateTime)' method, and this method cannot be
    translated into a store expression.

    修改后:

    var comments = CommentSrv.GetListByCondition(t => t.ProductId == id //商品评论

                                     && t.Type ==Type

                                     && t.Content != null

                                    && t.Content != " ").OrderByDescending(t => t.CreateDate)).ToList();//只要修改这里就可以
     var product = new {//展示商品的评论内容(包含时间,商品名,评论)
                        data.ID,
                        data.Name,
                        Commnents = comments,
                        CreateDate = t.CreateDate.ToUnixTime()//时间转换毫秒
                        };

    时间戳转换结果:

    "CreateDate":1336755430000

  • 相关阅读:
    注册表解锁
    Windows错误代码大全 2
    硬盘数据线的问题
    vs2010与C#4.0新特性
    (转载)C语言负数的移位运算
    (转载)看C语言编码转换负数的二进制表示方法
    (转载)C语言右移运算符的问题(特别当与取反运算符一起时)
    (转载)Qt中使用cout输出的方法
    (转载)QPainter的用法
    (转载)Qt计算MD5
  • 原文地址:https://www.cnblogs.com/janekimyan/p/3496803.html
Copyright © 2011-2022 走看看