将班级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(.......)
linq to entity不识别方法"System.String ToString()",布布扣,bubuko.com