1
我在尋找到一個項目中使用NHibernate和我對如何最好地實現以下情形的問題時,使用FluentNhibernate 1.0.0.593,和NHibernate 2.1.0.4000用流利的NHibernate和自動映射使用EnumTypes
我的表看起來像這樣:
DeviationLog:
Id uniqueidentifier
DeviationType uniqueidentifier
IncomingMessageId uniqueidentifier
DeviationType:
Id uniqueidentifier
DeviationTypeCategory uniqueidentifier
DeviationMessage nvarchar(255)
DeviationTypeCategory:
Id uniqueidentifier
DeviationTypeCategoryName nvarchar(255)
我目前正在使用自動映射與約定。
當我創建偏差的情況下,我想能夠做到像下面這樣:
var deviation = new Deviation{DeviationType=DeviationEnum.NoMatchMobileNumber};
現在據我所知枚舉只支持整數類型,所以這是不行的沒有其他方法。我正在考慮用這個字典,比如Dictionary<DeviationEnum,Guid>
,我也懷疑我可能需要利用UserTypeConvention<T>
來做這個工作。
任何人都有經驗分享?
你能夠粘貼一個例子,或指向其他可能有用的資源? – andersr 2011-05-13 09:12:44
我會看看NHibernate的源代碼中的YesNoType,它具有類似的功能,將bool轉換爲字符串字段中的「是」或「否」來保存它。通過使用不同的枚舉數,我最終創建了一個抽象類,以便每個枚舉只有一個具有映射的子類。 – Rich 2011-05-13 17:59:59