2013-04-09 65 views
0

有没有办法添加一些NHibernate XML配置节点或属性,以便为MySQL生成的创建表脚本将包含列注释?使用NHibernate映射文件添加MySQL列注释?

这种脚本的例子是象下面这样:

CREATE TABLE table_with_comments(
    column1 INT(11) NOT NULL AUTO_INCREMENT COMMENT 'this is the primary key.', 
    column2 TEXT DEFAULT NULL, 
    PRIMARY KEY (column1) 
) 

我的问题是是否有可能把XML映射文件中的注释。或者如果我们使用NHibernate.Mapping.Attributes,有没有办法将注释放在属性注释中?

回答

0

我知道向映射添加数据库特定元数据的唯一方法是使用Auxiliary Database Objects通过<database-object>标记。

Ayende Rahien也有一个简短的例子blog entry

另外,除了Oracle以外,完全相同的问题已经被询问和回答。有关更多详细信息,请参阅Setting Oracle's Column COMMENTS Attribute with NHibernate

+0

感谢您的回答!所以这意味着我需要在该数据库对象标签中添加一些alter column add comment脚本。但是如果你看看这个[page](http://cornempire.net/2010/04/15/add-comments-to-column-mysql/),就没有办法编写这种alter column SQL。其实我的问题是,NHibernate是否支持在它生成的Create Table脚本中添加注释?我阅读了[帮助文档](http://nhforge.org/doc/nh/en/),但没有找到任何内容。 – Sheng 2013-04-10 15:53:58

+0

目前无法在使用NHibernate创建表时添加注释。一种可能的选择是编写一个存储过程,其中包含表名,列名和注释。该过程可以调用“SHOW CREATE TABLE ...”提取与该列有关的信息,并围绕该列建立alter table语句。 – mickfold 2013-04-10 21:05:48