2013-04-09 18 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