C#數據庫的Linq Lambda表達式如何在兩個所在領域的兩個刺結合C#數據庫的Linq Lambda表達式
str1和STR2都是字符串類型。
在表中的值是存在用於字段STR1和STR2
string myString1="abc";
var items1=Dababase1Repository.Find<MyTableClass1>(x=>x.Str1==myString1).List(); //WORKING
string myString2="def";
var items1=Dababase1Repository.Find<MyTableClass1>(x=>x.Str2==myString2).List(); //WORKING
string myString3="abcdef";
var items1=Dababase1Repository.Find<MyTableClass1>(x=>(x.Str1+x.Str2)==myString3).List(); //NOTWORKING
沒有編譯錯誤但 生成運行時錯誤:
NotSupportedException異常是由用戶代碼(在運行時)
未處理我使用了ToString,Trim,Concat和其他可能的方式。我認爲str1和str2不是作爲字符串對待的(在運行時),但在編譯時沒有錯誤
如何解決此問題?
你需要一個字符串變量拉姆達外結合2串並將其與'myString3'。字符串連接會產生一個新的字符串,而不是現有的字符串,也許它目前在lambda中不受支持。 –
這是允許的:3我沒有得到任何錯誤 – Sherlock
什麼類型是'x.Str1'和'x.Str2'?如果它們是'object',你可能想要添加'(x.Str1.ToString()+ x.Str2.ToString())' – kurakura88