var data = DataSource.Skip(iDisplayStart).Take(iDisplayLength).Select(o => new
{
MatNR = o.MatNR,
MatDB = o.MatDB,
CreatedOn=o.CreatedOn.ToString(),
CreatedBy = o.CreatedBy,
Id2 = o.MatNR
});

以上语句就会出现这个提示:LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。

解决方法有两种

一、使用SqlFunctions

1、

 CreatedOn = SqlFunctions.DateName("year", o.CreatedOn) + "-"
+ SqlFunctions.DateName("month", o.CreatedOn) +"-"
+ SqlFunctions.DateName("day",o.CreatedOn),

2、

 CreatedOn= SqlFunctions.DateName("yyyy", o.CreatedOn)
+"-"+
SqlFunctions.StringConvert((decimal)SqlFunctions.DatePart("mm", o.CreatedOn))
+"-"+
SqlFunctions.DateName("dd",o.CreatedOn),

3、

CreatedOn = SqlFunctions.DateName("yyyy", o.CreatedOn)
+ "-" +
SqlFunctions.StringConvert((decimal)SqlFunctions.DatePart("mm", o.CreatedOn)).Trim()
+ "-" +
SqlFunctions.DateName("dd", o.CreatedOn),

注意:月份只有1位数!还不够完美。

二、Linq-to-entities 转换到Linq-to-objects

//Do it in two steps - one L2E query that does the L2E supported part, and a L2O query that does the date formatting and other stuff that is best done in .net code...

////Linq-to-entities query to get the fullname, categoryname, and date

//var query = from c in db.Contacts select new { c.FullName, c.Category.CategoryName, c.DateCreated };

////Linq-to-objects query (.AsEnumerable will separate the L2E from L2O part) that call date formatting methods and other stuff that isn't supported by L2E

//var r = from c in query.AsEnumerable() select new { c.FullName, c.CategoryName, ShortDate = c.DateCreated.ToShortDateString() };

var data = DataSource.Skip(iDisplayStart).Take(iDisplayLength).Select(o => new
{
MatNR = o.MatNR,
MatDB = o.MatDB,
CreatedOn=o.CreatedOn,
CreatedBy = o.CreatedBy,
Id2 = o.MatNR
}); var a = from c in data.AsEnumerable()
select new
{
MatNR = c.MatNR,
MatDB = c.MatDB,
//CreatedOn = Convert.ToDateTime(c.CreatedOn).ToShortDateString(),// 2014/2/28
//CreatedOn = c.CreatedOn.ToString(),//2014/2/28 15:09:40
CreatedOn =c.CreatedOn.ToString("yyyy-MM-dd"),//如果数据库里的日期字段可以为null,则CreatedOn.ToString("yyyy-MM-dd")这种方式是不可以的,如果不为null则可以;
                        CreatedBy = c.CreatedBy,
Id2 = c.MatNR
};

LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。的更多相关文章

  1. Linq中字段数据类型转换问题(Linq to entity,LINQ to Entities 不识别方法"System.String ToString()"问题解决)

    1.在工作中碰到这样一个问题: 使用linq时,需要查询两个表,在这两张表中关联字段分别是int,和varchar()也就是string,在linq中对这两个字段进行关联, 如果强制类型转换两个不同类 ...

  2. LINQ to Entities 不识别方法"System.String ToString()",因此该方法无法转换为存储表达式 的解决方法

    一.案例1,及解决方案: "LINQ to Entities 不识别方法"System.String ToString()",因此该方法无法转换为存储表达式." ...

  3. LINQ to Entities 不识别方法“System.String ToString(System.String)”,因此该方法无法转换为存储表达式。

    来源:https://www.cnblogs.com/hao-1234-1234/p/9112434.html 6  Select的时候,时间无法转换成 年月日  YYMMMdd 报错:LINQ to ...

  4. linq to entity不识别方法"System.String ToString()"

    将班级id以字符串形式输入如:"1111,1112,1113".数据库里的id为int型,在数据路里找到匹配的相应班级转换成列表.在这里爆出问题:不识别方法"System ...

  5. LinQ to entities 不能识别方法“system.string.ToString(system.String)”.因此该方法无法转换为存储表达式

    [我也是刚研究IEnumerable和IQueryable]以下都是个人理解,仅供参考,如有错误欢迎指出~ 在EF里面,使用IQueryable和IEnumerable可以延迟加载. IQueryba ...

  6. LINQ to Entities 不识别方法“System.String ToString(“yyyy-MM-dd”)”

    将Queryable转化为IEnumerable或者直接Tolist()

  7. mvc ef LINQ to Entities 不识别方法“Int32 Parse(System.String)”,因此该方法无法转换为存储表达式。

    private sys_User GetUserInfo() { sys_User model = null; var userId = Convert.ToInt32(AccountHelper.G ...

  8. LINQ to Entities 不识别方法“System.String get_Item(Int32)”,因此该方法无法转换为存储表达式。

    1.LINQ to Entities 不识别方法“System.String get_Item(Int32)”,因此该方法无法转换为存储表达式.项目中发现linq to entities 不识别? , ...

  9. LINQ to Entities 不识别方法“System.Guid Parse(System.String)”,因此该方法无法转换为存储表达式。

    LINQ to Entities 不识别方法"System.Guid Parse(System.String)",因此该方法无法转换为存储表达式. linq 中不能转换类型

随机推荐

  1. work3

    HOMEWORK-03 红字部分为组员修改的意见 文件介绍 在EXE文件夹中的main.exe文件为本项目执行文件直接点击即可,CODE文件夹中的C文件夹中包含了算法部分的代码,其编译出的DLL文件在 ...

  2. svn IP地址变更后如何变更

    通过grep ip地址,发现svn中url地址信息是记录在.svn文件夹entries文件中的,第一种方案应该是遍历目录下的entries文件,将ip替换为新的ip即可. 可以发现这个用sed命令即可 ...

  3. codeforces 630B Moore's Law

    B. Moore's Law time limit per test 0.5 seconds memory limit per test 64 megabytes input standard inp ...

  4. [iOS 多线程 & 网络 - 2.4] - 大文件下载 (边下边写/暂停恢复下载/压缩解压zip/多线程下载)

    A.需求 边下边写入硬盘 显示下载进度 暂停/恢复 下载 解压文件 多线程下载   B.基本知识 1.小文件下载 如果文件比较小,下载方式会比较多直接用NSData的+ (id)dataWithCon ...

  5. 转载JQuery 获取设置值,添加元素详解

    转载原地址 http://www.cnblogs.com/0201zcr/p/4782476.html jQuery 获取内容和属性 jQuery DOM 操作 jQuery 中非常重要的部分,就是操 ...

  6. UVaLive 7372 Excellence (水题,贪心)

    题意:给定 n 个数,要求把其中两个分成一组,然后加和,问所有的都分好,最小数是几. 析:贪心策略,最大和是小的相加,就是最优的. 代码如下: #pragma comment(linker, &quo ...

  7. JMS开发(三):JMS消息的确认方式

    这里单独列出来我也是觉得有点必要的,毕竟JMS总体知识点并不多,这点可能被很多人所忽视. 首选定义:消息的确认是指消息接受者接到消息,并做出了对应的处理之后,它将回送一个确认消息. 对于非事务性会话, ...

  8. UVa 10801 Lift Hopping / floyd

    乘电梯 求到目标层的最短时间 有n个电梯 换一个电梯乘需要额外60秒 所以建图时每个电梯自己能到的层数先把时间算好 这是不需要60秒的 然后做floyd时 如果松弛 肯定是要换电梯 所以要加60秒 # ...

  9. RIA(富客户端)发展态势

    在过去的两到三年中,Web开发人员一直是想构建一种比传统HTML更丰富的客户端:这是一个用户接口,它比用HTML能实现的接口更加健壮.反应更加灵敏和更具有令人感兴趣的可视化特性.RIA技术的出现允许我 ...

  10. UVA1395

    // UVa1395 Slim Span // Rujia Liu #include<cstdio> #include<cmath> #include<cstring&g ...