標籤:
基本映射關係如下:
NHibernate類型 |
.NET類型 |
Database類型 |
備忘 |
AnsiChar |
System.Char |
DbType.AnsiStringFixedLength - 1 char |
|
Boolean |
System.Boolean |
DbType.Boolean |
在沒有指定類型(type) 屬性時的預設值。 |
Byte |
System.Byte |
DbType.Byte |
在沒有指定類型(type) 屬性時的預設值。 |
Char |
System.Char |
DbType.StringFixedLength - 1 char |
在沒有指定類型(type) 屬性時的預設值。 |
DateTime |
System.DateTime |
DbType.DateTime - ignores the milliseconds |
在沒有指定類型(type) 屬性時的預設值。 |
Decimal |
System.Decimal |
DbType.Decimal |
在沒有指定類型(type) 屬性時的預設值。 |
Double |
System.Double |
DbType.Double |
在沒有指定類型(type) 屬性時的預設值。 |
Guid |
System.Guid |
DbType.Guid |
在沒有指定類型(type) 屬性時的預設值。 |
Int16 |
System.Int16 |
DbType.Int16 |
在沒有指定類型(type) 屬性時的預設值。 |
Int32 |
System.Int32 |
DbType.Int32 |
在沒有指定類型(type) 屬性時的預設值。 |
Int64 |
System.Int64 |
DbType.Int64 |
在沒有指定類型(type) 屬性時的預設值。 |
PersistentEnum |
System.Enum |
潛在類型對應的DbType |
不用在對應檔指定type="PersistentEnum".而是提供枚舉的程式集全名, 讓NHibernate用反射來猜測類型。枚舉使用的潛在類型決定適當的DbType.。 |
Single |
System.Single |
DbType.Single |
在沒有指定類型(type) 屬性時的預設值。 |
Ticks |
System.DateTime |
DbType.Int64 |
type="Ticks"必須被指定。 |
TimeSpan |
System.TimeSpan |
DbType.Int64 |
在沒有指定類型(type) 屬性時的預設值。 |
Timestamp |
System.DateTime |
DbType.DateTime - 取決於資料庫支援 |
type="Timestamp"必須被指定。 |
TrueFalse |
System.Boolean |
DbType.AnsiStringFixedLength -一個字元,‘Y‘ 或者‘N‘ |
type="TrueFalse"必須被指定。 |
YesNo |
System.Boolean |
DbType.AnsiStringFixedLength -一個字元,‘Y‘ 或者‘N‘ |
type="YesNo"必須被指定。 |
2.應用類型映射
NHibernate Type |
.NET Type |
Database Type |
Remarks |
AnsiString |
System.String |
DbType.AnsiString |
type="AnsiString"必須被指定。 |
CultureInfo |
System.Globalization.CultureInfo |
DbType.String -表明文化(culture)的5個字元 |
在沒有指定類型(type) 屬性時的預設值。 |
Binary |
System.Byte[] |
DbType.Binary |
在沒有指定類型(type) 屬性時的預設值。 |
Type |
System.Type |
DbType.String儲存應用程式集許可權定名。 |
在沒有指定類型(type) 屬性時的預設值。 |
String |
System.String |
DbType.String |
在沒有指定類型(type) 屬性時的預設值。 |
3.二進位類型映射
Hibernate Type |
.NET Type |
Database Type |
Remarks |
StringClob |
System.String |
DbType.String |
type="StringClob"必須被指定。 整個欄位在記憶體裡可讀。 |
BinaryBlob |
System.Byte[] |
DbType.Binary |
type="BinaryBlob"必須被指定。 整個欄位在記憶體裡可讀。 |
Serializable |
Any System.Object 必須標註可序列化標籤 |
DbType.Binary |
type="Serializable" 應該被指定. 如果不能為屬性找到NHibernate類型,這是最後可依靠的類型。 |
原文來自:http://www.cnblogs.com/GoodHelper/archive/2011/02/24/nhibernate06.html
NHibernate 映射關係