이 간단한 2 행의 코드가 있습니다. 그것은 잘 컴파일하지만 결코 datagridview에서 결과를 반환합니다. func을 p=> p.PTNT_FIRST_NAME.StartsWith(this.textBox1.Text)
으로 변경하면 잘 작동합니다. 여기서 뭐가 문제 야? Expression<Func<PATIENT, bool>>
에Func에서 Where 절에 매개 변수로 전달할 때의 문제
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);
. 왜 그것이 처음부터 컴파일됩니까? – user341450
LINQ-to-SQL이 아닌 일반 LINQ 호출로 컴파일됩니다. LINQ-to-SQL은'Expresion''을 사용하는 확장 메서드 세트이므로'Expression '을 전달해야합니다. –
SLaks