Привязка источника формы Windows к LinqToSql не может применить свойство «Фильтр» - PullRequest
2 голосов
/ 01 августа 2011

Я создаю приложение Windows Forms, и во многих из этих форм я использую BindingSource, который связан с объектом LinqToSql. У меня также есть DataGridView, который использует BindingSource. Это работает очень хорошо, и все работы по созданию / редактированию / обновлению.

Однако, когда я добавляю строку в свойстве Filter следующим образом:

VesID='ABC'

не фильтруется. Есть ли специальный синтаксис, который мне нужен, чтобы фильтр работал с источником данных объекта?

1 Ответ

1 голос
/ 01 августа 2011

Что такое источник привязки SupportsFiltering?
Бьюсь об заклад, это false, потому что LINQ не поддерживает динамические запросы из коробки.

Почему вы хотите динамические запросы в любом случае? LINQ - это безопасность типов, и вы действительно должны использовать встроенную фильтрацию с Where:

var query = db.Customers.Where(x => x.VesID == "ABC");
grid.DataSource = query;

Если вам действительно нужно указать условие строкового фильтра (в случае редко ), взгляните на две библиотеки: PredicateBuilder и Динамический LINQ .

...