Можем ли мы остановить столбец идентификатора от автоматического увеличения? - PullRequest
2 голосов
/ 11 января 2010

У меня есть таблица с основным столбцом в качестве идентификатора. Но этот столбец не является столбцом идентификации. Все значения указаны явно.

Ниже мой класс картографии

 public ObjectTypeMap()
    {
        Table("OBJECTTYPE");
        Id(x => x.ObjectTypeId);
        Map(x => x.Title).Not.Nullable();
        Map(x => x.Description);
    }

но когда я пытаюсь сохранить этот объект с помощью session.save, я получаю сообщение об ошибке

"Невозможно вставить значение NULL в столбец« ObjectTypeId », таблица« DiscoveryWEBTest.dbo.ObjectType »; столбец не допускает нулевые значения. Ошибка INSERT. \ R \ nОписание завершено."

Но в моем объекте я предоставляю значение ObjectTypeId.

Проблема в том, что Fluent NHibernate рассматривает сопоставление идентификаторов как столбец автоинкремента, но в базе данных ObjectTypeId не является столбцом идентификаторов, поэтому оператор вставки не получает никакого значения и выдает ошибку NULL.

Есть ли способ, которым я могу сказать, что столбец является столбцом идентификатора, но его значение не увеличивается автоматически?

Заранее спасибо

1 Ответ

7 голосов
/ 11 января 2010

Отобразите это так:

Id(x => x.ObjectTypeId).GeneratedBy.Assigned();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...