Проблема nhibernate с «Не могу вставить явное значение для столбца идентификаторов в таблице» - PullRequest
1 голос
/ 05 мая 2011

Кажется, у меня возникла случайная проблема с nHibernate и вставкой записей.

Вставка работала нормально, затем добавил новую таблицу и начал получать сообщение об ошибке:

Cannot insert explicit value for identity column in table '' when IDENTITY_INSERT is set to OFF

Вставка существующих таблиц также теперь завершается ошибкой. Случайная часть состоит в том, что, если я удаляю свои файлы и повторно проверяю, вставка тогда работает отлично.

Версия nHibernate - 3.1

.

Идентификационные столбцы устанавливаются через:

[NHibernate.Mapping.Attributes.Generator(Class = "native")]
[NHibernate.Mapping.Attributes.Id(Name = "id")]
public virtual IdT id
{
    get { return _id; }
    set { _id = value; }
}

Я попытался установить "идентичность", но все еще проблема. Не уверен, что существует проблема с кэшированием, но беспокоился, что это может повлиять на функциональность на более позднем этапе.

1 Ответ

4 голосов
/ 14 декабря 2011

Столкнулся с этой ошибкой.Я сразу понял, что это проблема личности.Но у меня был установлен автоинкремент.Итак, я проверил свой файл сопоставления.Я быстро понял, что:

    <id name="Id" access="property" column="`id`">
        <generator class="assigned" />
    </id>

должно быть

    <id name="Id" access="property" column="`id`">
        <generator class="native" />
    </id>

ПРИМЕЧАНИЕ: class = "native"

...