2009-04-24 4 views
1

엔티티에 Winforms Grid를 바인딩하고 있습니다.Linq to Entity 동적/강한 형식의 엔터티 필터링

grid.DataSource = myEntities.entityName.Where("it.field = " & field) 

그것은 작동하지만, 분명히 강력하게 형식화되지 않은 : 다음과 같이 (내가 여기에 가지 않을 이유가없는 결과 쿼리, 엔티티에 바인딩해야 함) 코드입니다. 강력한 형식의 표기법을 사용하여 엔티티의 Where 절을 정의하는 방법이 있습니까?

답변

4

람다 식을 사용해 보셨습니까?

grid.DataSource = myEntities.Customers.Where(c => c.Name == "Bob"); 

또는 VB에서

: 그것은 동적 될 경우

grid.DataSource = myEntities.Customers.Where(Function(c) c.Name = "Bob") 

당신은 사용자 정의 식 트리를 구축보고 할 수 있습니다. Expression Trees의 기초에 대한 자습서는이 블로그를 참조하십시오. http://blogs.msdn.com/charlie/archive/2008/01/31/expression-tree-basics.aspx

이 블로그는 좋은 정렬 예제를 보여줍니다. http://weblogs.asp.net/davidfowler/archive/2008/12/11/dynamic-sorting-with-linq.aspx

+1

감사합니다. VB에서 일하는 사람들은 VB 형식을 사용합니다. grid.DataSource = myEntities.Customers.Where (function (c) c.Name = "Bob") – Jeff

+1

고마워, 답변에 추가했습니다. – bendewey