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(.......)

 

posted @ 2014-06-06 11:45  帅帅~~~  阅读(224)  评论(0编辑  收藏  举报