Связывание сетки с источником данных Linq из Winforms (.net) - PullRequest
1 голос
/ 14 апреля 2009

В прежние времена (то есть в прошлом месяце) я привязывал свою сетку winforms к набору данных и был бы готов к работе. По умолчанию содержимое сетки может быть обновлено. (аналогично электронной таблице Excel)

Но если я связываю сетку с источником данных Linq (Linq to SQL или Linq to Entities), моя сетка winforms будет заблокирована в режиме только для чтения. Как включить режим обновления?

Ответы [ 3 ]

1 голос
/ 15 апреля 2009

Посмотрите на метод GetNewBindingList в различных классах для «лучшего» связывания.

И не забудьте позвонить SubmitChanges, когда вы закончите.

1 голос
/ 15 апреля 2009

Возможно, вы используете анонимный тип в проекции? т.е.

select new {Foo = order.Foo, Bar = custmoer.Bar};

(или аналогичный) - анонимные типы в C # являются неизменяемыми, поэтому да: он будет казаться только для чтения. Однако обычные классы (либо сгенерированные LINQ, либо ваши собственные) должны быть доступны для редактирования. Единственное, что нужно запомнить - это вызвать .ToList() для любого запроса (вместо того, чтобы давать ему объект IEnumerable<T> / IQueryable<T>).

0 голосов
/ 19 мая 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...