将班級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()) >=
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
where c.Class1ID in intArray
方法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(.......)