Fluent NHibernate使用int Identity插入表

时间:2013-12-09 10:32:47

标签: c# sql fluent-nhibernate fluent-nhibernate-mapping

我是Fluent NHibernate的新手,我在插入一个ID列设置为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 User(FirstName,LastName,Company,EmailAddress,Password,CountryId)VALUES(?,?,?,?,?,?);选择SCOPE_IDENTITY()

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

用户是保留字,因此会引发错误
请尝试[用户](使用这些括号),如下所示。

Table("[User]");


也可以看看: http://technet.microsoft.com/en-us/library/aa238507%28v=sql.80%29.aspx

相关问题