NHibernate bug sql generator

时间:2009-09-06 10:29:49

标签: sql-server nhibernate debugging orm

我的课程名为

我尝试测试配置:

var cfg = new Configuration();
cfg.Configure();

cfg.AddAssembly(typeof (Group).Assembly);

new SchemaExport(cfg).Execute(true, true, false);

当我调试这个时,我得到以下sql:

 create table Group (
        ID INT IDENTITY NOT NULL,
       Name NVARCHAR(255) null,
       CreatedDate DATETIME null,
       primary key (ID)
    )

就像我记得的那样,为分组

保留的群组

那么为什么NHibernate不使用像Group这样的引号来表名?

BTW,我正在使用Sql Server 2005和NHibernate 2.1

1 个答案:

答案 0 :(得分:1)

如果您使用保留关键字作为对象名称,则应使用DBMS特定符号对其进行标记。例如,如果您使用的是SQL Server,则应将其放在[]中并使用`for MySql。 在这个例子中你应该写(假设你使用的是SQL服务器):

<class name="Group" table="[Group]">