Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> NHibernate не обновляет,не удаляет данные и молчит, Вывод и добавл. ОК; обновл, удал. никак 
:(
    Опции темы
aleksend
Дата 23.8.2010, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 17.2.2009

Репутация: нет
Всего: нет



Привет всем. Я в FluentNHibernate начинающий, возникла такая проблема: не могу с помощью NHibernate обновить либо удалить запись в таблице базы (СУБД Sql Server 2005). При этом вывод данных из таблицы и добавление новой записи проходят успешно. В чем ошибка?

Вот так вывожу:

Код

IList<Vacancy> VList =
                Global.CurrentSession.CreateCriteria(typeof(Vacancy)).List<Vacancy>();


Вот так добавляю:

Код

var EditVac = new Vacancy();


Global.CurrentSession.SaveOrUpdate(EditVac);

А вот так обновить не получается:

Код

var EditVac = Global.CurrentSession.Get<Vacancy>(id);//Get работает нормально, объект из базы вынимает, тут не придерешься
EditVac.Name = tbxVacancyName.Text;
Global.CurrentSession.SaveOrUpdate(EditVac);//эффект нулевой...


И удалить тоже не получается:

Код

var DelVac = Global.CurrentSession.Get<Vacancy>(id);//здесь все нормально
                    Global.CurrentSession.Delete(DelVac);//а здесь опять ноль эффекта, и молчим как рыба


При всем этом безобразии сам NHibernate молчит как рыба, ни эксепшенов, ничего. Прошу помочь.

Маппинги на всякий случай (класс Vacancy ссылается на два других класса, и в базе такая же схема):

Код

    public class PeriodMap : ClassMap<Period>
    {
        public PeriodMap()
        {
            Id(x => x.Id);
            Map(x => x.Name);

        }
    }

    public class CurrencyMap : ClassMap<Currency>
    {
        public CurrencyMap()
        {
            Id(x => x.Id);
            Map(x => x.Name);
        }

    }


    public class VacancyMap : ClassMap<Vacancy>
    {
        public VacancyMap()
        {
            Id(x => x.Id);
            Map(x => x.Name);
            Map(x => x.Duties);
            Map(x => x.CompensationMin);
            Map(x => x.CompensationMax);
            Map(x => x.DateTime);
            References(x => x.Currency);
            References(x => x.Period);
        }
    }


 smile 
PM MAIL   Вверх
Wanderer2019
Дата 23.8.2010, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 1
Всего: 17



Тебе нужно изменения закоммитеть, прежде чем они вступят в силу.. 

Смотри transaction объект. 

Я так понимаю в этом проблема, если в остальном ошибок не кидает.

Это сообщение отредактировал(а) Wanderer2019 - 23.8.2010, 15:19
PM ICQ MSN   Вверх
aleksend
Дата 23.8.2010, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 17.2.2009

Репутация: нет
Всего: нет



Гениально! Кто не знает, тот фигушки догадается  smile  Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0914 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.