将Func作为参数传递给Where子句时出现问题

时间:2010-05-14 16:54:10

标签: c# linq-to-sql

我有以下两行代码。它编译得很好,但从不在datagridview中返回结果。如果我将func更改为p=> p.PTNT_FIRST_NAME.StartsWith(this.textBox1.Text),它就可以了。这有什么问题?

Func<PATIENT, bool> func = (PATIENT p) => p.PTNT_FIRST_NAME.StartsWith(this.textBox1.Text);
this.dataGridView1.DataSource = dataContext.PATIENTs.Where<PATIENT>(func).Select(q => q);

2 个答案:

答案 0 :(得分:2)

Func<PATIENT, bool>更改为Expression<Func<PATIENT, bool>>

答案 1 :(得分:2)

试试这个:

Expression<Func<PATIENT, bool>> func = (PATIENT p) => p.PTNT_FIRST_NAME.StartsWith(this.textBox1.Text);