2009-07-08 52 views

回答

7

我不是一個DBA,所以我不能給你一個好的模式定義......(對我來說這只是SQL Server中的'數據庫')。

在NHibernate中你可以指定模式兩個地方:映射文件中的配置。

映射文件允許您指定每個類的模式。當你在同一臺服務器上有不同架構的類時,這很好。

SessionFactory配置允許您指定一個默認模式(default_schema選項),該模式應該應用於所有未明確設置模式的類映射。所以它是一個全部。

從閱讀你的鏈接看起來這是有利於性能,因爲當你查詢表「酒吧」沒有指定架構(說數據庫是「Foo」,所以架構「Foo.dbo」在SQL Server中)查詢計劃isn'緩存。這可能是由於SQL Server必須嘗試並解析連接字符串(初始目錄,數據庫等)所使用的模式,而不是在查詢中顯式使用它(「Bar」隱含 - 未緩存「,Foo.dbo .Bar「顯式 - 緩存)。

再次,我不是一個DBA可以使這些定義吸:)

編輯:

下面是配置的東西(用於NH 1.2 ... ...這是舊的鏈接...但default_schema選項在那裏):

https://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/session-configuration.html