天天看點

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

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