Linq to Entities Фильтрация сущностей Динамический / Сильно типизированный - PullRequest
1 голос
/ 24 апреля 2009

Я привязываю сетку Winforms к сущности. (По причинам, о которых я не буду здесь говорить, это должно быть связано с сущностью, а не с результатом запроса). Код выглядит следующим образом:

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

Работает, но явно не печатается строго. Есть ли способ определить предложение Where для сущности, используя строго типизированную запись?

1 Ответ

4 голосов
/ 24 апреля 2009

Вы пытались использовать лямбда-выражение?

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

или в VB:

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

Если он должен быть динамическим, то вы можете посмотреть на создание собственного дерева выражений. Учебник по основам деревьев выражений смотрите в этом блоге 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

...