2009-04-16 3 views
0

Я начинаю с малого проекта форм окон, который широко использует редактируемые сетки. Я хочу использовать Linq для Entities, но в то время как тривиально связывать сетку с запросом Linq, она доступна только для чтения. Я не мог найти хороший способ иметь редактируемую сетку, которая автоматически обновляет базу данных. (Я взломал рабочий процесс, где я копирую данные в набор данных для отображения/обновления и перевода обратно ... уродливый!)Linq to Entities Vs. Адаптеры таблицы (.Net Windows Forms)

Итак, теперь я решил забыть Linq для Entities и использовать старый адаптер таблицы/dataset из 2.0.

Есть ли веская причина, почему я должен использовать Linq для сущностей? Есть ли способ сделать редактируемые сетки, которые я только что пропустил?

ответ

1

Нашли решение: используйте лямбда-выражения для фильтрации объекта, а затем привяжите его непосредственно к объекту. Прекрасно работает.

2

Вы можете просто привязать сущность, возвращенную запросом к элементу управления, и это позволит редактировать связанные сущности. Может быть, вы должны вставить BindingSource между коллекцией и контролем, но это зависит. Если вы вызываете SaveChanges() в контексте объекта, изменения сохраняются в базе данных. Таким образом, привязка данных к Entity Framework определенно работает.

+0

По какой-то причине я пытаюсь получить сетку только для чтения. Возможно, это управление сетью infragistics, которое я использую? – Jeff

+1

Я не могу сказать, если это проблема с этим элементом управления. Просто попробуйте с помощью DataGridView - это работает без каких-либо трюков. –

+0

Спасибо. Я обнаружил, что привязываюсь к результату запроса, а не к самой сущности. Таким образом, только чтение. Я дам linq еще один выстрел. – Jeff