C# database 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 没有被视为字符串(在运行时),但在编译中没有错误
如何解决这个问题?
使用这个
string myString3="abcdef";
var items1=Dababase1Repository.Find<MyTableClass1>(x=>string.Concat(x.Str1+x.Str2)==myString3).List();