2
我已經在使用實體框架遇到一個奇怪的場景中,「去哪兒」凡我可以搜索字符串,但不是一個字符串的是陣列的一部分:實體框架,異常引起的String []
這工作:
string line = sr.ReadLine();
string[] row = line.Split(';');
string code = row[0];
TableObject to = db.TableObject.Where(e => e.property == code).FirstOrDefault();
但是如果我試圖通過省略步驟串code = row[0]
和做簡化代碼如下:
string line = sr.ReadLine();
string[] row = line.Split(';');
TableObject to = db.TableObject.Where(e => e.property == (string) row[0]).FirstOrDefault();
我得到以下EXCE ption:
System.NotSupportedException: The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities.
我覺得strage該excepption抱怨數組看到,因爲我已經specificaly鑄row[0]
數組作爲(string)
。
.ToString()
也沒有解決問題。
我知道這沒什麼大不了的,但我很好奇爲什麼這樣。
好的,謝謝,我的方法是在lambda函數外部提取字符串令人滿意,還是有更正確的方法? – Chopo87
你的方法非常好。只要確保你在lambda函數外提取字符串。 –
感謝您的超級快速澄清 – Chopo87