zoukankan      html  css  js  c++  java
  • LINQ to Entities 不识别方法"System.String ToString()"

    一、案例1,及解决方案:

    在做批量删除时,需把一串id值所对应的数据删除,调试出现问题:

    Linq语句中如果使用ToString()进行类型转换,编译时不会报错,但执行时会出现如下错误:

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

    原因是Linq不支持ToString()函数。

    可用下述方法进行转换解决:

    string source = "1,2,3,4,5";

    List<int> result = new List<string>(source.Split(',')).ConvertAll(i => int.Parse(i));

    注: 需引用下列命名空间

    using System.Collections.Generic;

    using System.Linq;

    二、案例2,及解决方案:

    //获取市级地区
    public JsonResult GetCity(string id)
    {
        var city 
    = from c in db.AreaDivide where c.ParentID == int.Parse(id) select new { text = c.AreaName, value = c.ID };
        
    return Json(city.ToList(), JsonRequestBehavior.AllowGet);
    }

    以上代码也会出现如下错误:

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

    解决方案一:

    复制代码
    //获取市级地区
    public JsonResult GetCity(string id)
    {
        
    int a; int.TryParse(id, out a);
        var city 
    = from c in db.AreaDivide where c.ParentID == a select new { text = c.AreaName, value = c.ID };
        
    return Json(city.ToList(), JsonRequestBehavior.AllowGet);
    }
    复制代码

    解决方案二:

    复制代码
    using System.Data.Objects.SqlClient;  //在 System.Data.Entity.dll 中
    //获取市级地区
    public JsonResult GetCity(string id)
    {
        var city 
    = from c in db.AreaDivide where SqlFunctions.StringConvert((double)c.ParentID) == id select new { text = c.AreaName, value = c.ID };
        
    return Json(city.ToList(), JsonRequestBehavior.AllowGet);
    }
    复制代码

    相关资料:

    http://archive.cnblogs.com/a/1878714/

    http://stackoverflow.com/questions/1228318/linq-int-to-string

    http://stackoverflow.com/questions/1066760/problem-with-converting-int-to-string-in-linq-to-entities

    学习交流群:364976091
  • 相关阅读:
    洛谷—— P3353 在你窗外闪耀的星星
    洛谷—— P1238 走迷宫
    洛谷—— P1262 间谍网络
    9.8——模拟赛
    洛谷—— P1189 SEARCH
    算法
    May 22nd 2017 Week 21st Monday
    May 21st 2017 Week 21st Sunday
    May 20th 2017 Week 20th Saturday
    May 19th 2017 Week 20th Friday
  • 原文地址:https://www.cnblogs.com/firstcsharp/p/2842638.html
Copyright © 2011-2022 走看看