2
下面是我的Linq查詢如何獲得的IndexOf()空格在LINQ查詢
var test = from k in db.CityTable
where k.Name.Substring(0,1)== test1 && k.Name.Substring(4,1) == test2
select k.CityName;
在數據庫中的表
示例如下所示k.Name會有值:紐約或新澤西州 這裏test1和test2是字符串變量,其中包含單個字符,如N或Y或J. 現在我想比較k.Name的第一個字母與test1。
然後比較test2和k.Name中第二個單詞的第一個字母。
假設紐約是Database列中的值。
測試1 = N
測試2 = Y
k.Name =紐約
現在應該與第一字母與新和Y的第一字母比較ñ的約克。 爲了達到這個目標,我必須得到空間後的第一個字符。
這是我曾經嘗試過,
test = from k in db.CityTable
where k.CityName.Substring(0,1)== test1 && k.CityName.Substring(k.CityName.IndexOf(' '),1) == test2
select k.CityName;
但此查詢我得到異常
基地{System.SystemException} = {「LINQ到實體不承認 方法'Int32 IndexOf(Char)'方法,並且此方法不能將 翻譯爲商店表達式。「}
我如何實現這一目標?
你有沒有用'的IndexOf嘗試(」「)'?你也可以嘗試採取'CityTable'的數據在內存中的列表,然後嘗試在它這個查詢。 – Bastardo 2012-01-27 07:05:02
@RoboLover我的test1和test2將只有數據庫中城市的縮寫。 是的,我已經嘗試IndexOf() – 2012-01-27 07:10:34
你試着用'char'參數'IndexOf',我建議你用'string'參數調用它,請檢查我的答案爲msdn'IndexOf'示例。 – Bastardo 2012-01-27 07:13:12