【问题标题】:NHibernate bug sql generatorNHibernate bug sql 生成器
【发布时间】:2009-09-06 10:29:49
【问题描述】:

我有一个名为Group的类

我尝试测试配置:

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)
    )

我记得,Group 键是为 Group By

保留的

那么为什么 NHibernate 不使用 Group 之类的引号作为表名呢?

顺便说一句,我使用的是 Sql Server 2005 和 NHibernate 2.1

【问题讨论】:

    标签: sql-server nhibernate debugging orm


    【解决方案1】:

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

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

    【讨论】:

    • 在NHibernate中,你可以使用`,它会被翻译成合适的数据库引用机制。
    猜你喜欢
    • 1970-01-01
    • 2010-10-17
    • 2018-06-25
    • 2017-02-16
    • 1970-01-01
    • 2011-02-05
    • 2010-12-14
    • 2011-06-12
    • 2011-04-20
    相关资源
    最近更新 更多