Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Проблема удаления строк из бд через DataGrid


Автор: Bynky 28.10.2013, 21:14
Здравствуйте.
Пытаюсь удалить выбранную в datagrid строку из базы данных и ничего не получается. Подскажите, пожалуйста, что делаю не так?
Shipper - таблица в базе данных


Код

OOOEnterpriseEntities OOOEnterprise = new OOOEnterpriseEntities
Shipper sh = gr.SelectedItems as Shipper;
OOOEnterprise.Shipper.Remove(sh);
OOOEnterprise.SaveChanges();

Автор: likegift 31.10.2013, 06:18
может, потому что sh=null?

Автор: Bynky 31.10.2013, 17:43
что вы имеете ввиду?

Автор: dzaraev 1.11.2013, 07:25
Цитата(Bynky @  31.10.2013,  17:43 Найти цитируемый пост)
что вы имеете ввиду? 

Он имеет в виду (кстати раздельно), что вот это преобразование:
Код

Shipper sh = gr.SelectedItems as Shipper;

вернуло null, т.к. тип значения gr.SelectedItems оказался несовместим с типом Shipper. В этом случае оператор as возвращает null;

Автор: likegift 1.11.2013, 11:31
Цитата(Bynky @ 31.10.2013,  20:43)
что вы имеете ввиду?

товарищ dzaraev за меня уже объяснил.
SelectedItems это коллекция типа Shipper, а не сам Shipper.

Автор: Bynky 1.11.2013, 18:46
Ну, может быть, тогда вы подскажете мне как сделать правильно?

Автор: likegift 3.11.2013, 08:10
Цитата(Bynky @ 1.11.2013,  21:46)
Ну, может быть, тогда вы подскажете мне как сделать правильно?

ну, как-то так:

Код

var OOOEnterprise = new OOOEnterpriseEntities
var sh = gr.SelectedItems as List<Shipper>;
if (sh==null || !sh.Any()) return;
OOOEnterprise.Shipper.Remove(sh.First());
OOOEnterprise.SaveChanges();

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)