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

    将班级id以字符串形式输入如:“1111,1112,1113”。
    数据库里的id为int型,
    在数据路里找到匹配的相应班级转换成列表。
    在这里爆出问题:不识别方法"System.String ToString()",跪求大神提出解决方案。
    public IEnumerable<Class1> FindClassesByIDs(string ids)
            {
                var r = from c in this.DbContext.Class1
                        where ids.IndexOf(c.Class1ID.ToString()) >= 0
                        select c;
                return r.ToList();
            }

    方法1: 字符串数组转整形数组  然后用contains

    string str=“1111,1112,1113”;
    string[] strArray =str.Split(new char[]{ ',' });
    int[] intArray;

    intArray = Array.ConvertAll<string, int>(strArray, s => int.Parse(s));
    var r = from c in this.DbContext.Class1
                        where c.Class1ID    in    intArray   select c;

    方法2:  同一种方法

         var strids= ids.Split(',');
                int []intids=new int[strids.Length];
                for (int i = 0; i < strids.Length; i++)
                {
                    intids[i] =int.Parse(strids[i]);
                }
             intids.contain(.......)

  • 相关阅读:
    Fish
    Brackets
    StoneWall【★★★★★】
    Nesting
    ajax补充FormData
    初始Ajax
    extra过滤
    Django 之缓存
    django中的信号
    Form组件归类
  • 原文地址:https://www.cnblogs.com/lovewuhan/p/3772303.html
Copyright © 2011-2022 走看看