2010-08-29 63 views
1

我在一個項目上使用NHibernate。數據庫必須在關係表上有創建日期和創建者用戶字段,但我不想將關係映射到域。我的數據庫設計是這樣的:與NHibernate關係表的審計信息

school (id, name, credate, creuser) 
student (id, name, credate, creuser) 
school_student(id, school_id, student_id, credate, creuser) 

對於school_student.id,我用自動增量,PK,不爲空,所以我沒有進行映射。 NHibernate自動管理關係,所以我不必映射school_id和student_id。 對於信譽,我可以使用getdate()函數,所以我不必映射此字段。

但對於creuser字段,我想不出一種方式,所以我不必爲school_student表創建一個域類。我怎樣才能避免爲school_student表創建一個域名?每次NHibernate插入一個recort到這個表中時,是否有一種將數據庫信息發送到數據庫的方法?

回答

0

如果是直接連接,則可以使用SUSER_SNAME()作爲列的默認值。

間接(例如通過網站),您必須發送值Context.User.Identity,因爲數據庫引擎不知道最終用戶是誰。你必須在nHibernate中映射它。

+0

但是這是一個web應用程序,每個用戶使用相同的連接字符串。 – 2010-08-29 12:50:15