Свободный 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

Другие вопросы по тегам