我正在尝试做一些类似于我以前的帖子,除了我使用扩展方法而不是LINQ。我收到一个错误,告诉我&&不能使用,那么如何使用用户输入的两个字符串在表中搜索?
var query = (App.DBConnection.Table<Notes>().Where(
c => c.Note.Contains(textBox1.Text) && c => c.Note.Contains(textBox2.Text))).Single();
TextBox_Results.Text = query.Note;
答案 0 :(得分:2)
删除第二个lambda运算符c =>
var query = App.DBConnection.Table<Notes>()
.Where(c => c.Note.Contains(textBox1.Text)
&& c.Note.Contains(textBox2.Text)))
.Single();
除此之外,我会使用FirstOrDefault
代替Single
。如果没有元素或者有多个元素,后者会抛出InvalidOperationException
。如果没有项与null
中的谓词匹配,前者只返回Where
。
答案 1 :(得分:0)
您无需再次声明c
变量
Where(c => c.Note.Contains(textBox1.Text) && c => c.Note.Contains(textBox2.Text)))
应该是
Where(c => c.Note.Contains(textBox1.Text) && c.Note.Contains(textBox2.Text)))