Свободный NHibernate Вставить в таблицу с Int Identity
Я новичок в Fluent NHibernate, и у меня возникла проблема со вставкой в таблицу, в которой столбец идентификатора установлен как INT IDENTITY(1,1).
Моя пользовательская карта выглядит следующим образом...
public class UserMap : ClassMap<User>
{
public UserMap()
{
Table("User");
Id(x => x.Id).GeneratedBy.Native();
Map(x => x.FirstName);
Map(x => x.LastName);
Map(x => x.Company);
Map(x => x.EmailAddress);
Map(x => x.Password);
Map(x => x.CountryId);
}
}
Я хочу, чтобы SQL обрабатывал личность пользователя, и я не хочу ничего возвращать. Я пробовал GeneratedBy.Identity() и продолжаю получать строку SQL с вопросительными знаками для значений при вставке с сообщением об ошибке "Неверный синтаксис рядом с пользователем ключевого слова".
Строка SQL:
INSERT INTO Пользователь (FirstName, LastName, Company, EmailAddress, Password, CountryId) VALUES (?,?,?,?,?,?); выберите SCOPE_IDENTITY()
Может кто-то указать мне верное направление???
1 ответ
Пользователь зарезервированное слово, поэтому возникает ошибка.
Вместо этого попробуйте [Пользователь] (с этими скобками), как показано ниже.
Table("[User]");
Смотрите также: http://technet.microsoft.com/en-us/library/aa238507%28v=sql.80%29.aspx