6
我有使用Fluent NHibernate映射的字典。該字典有一個複雜的密鑰類型CultureInfo
。我的數據庫不能存儲該類型,所以我想使用它的字符串表示。如何使用FluentNHibernate映射覆雜鍵類型(CultureInfo)的字典
在字典映射以外的映射中,我可以使用用戶類型約定成功映射CultureInfo
-properties。現在我想知道如何做二元映射。
下面是一個包含詞典中的實體:
public class MultilingualPhrase : Entity
{
private IDictionary<CultureInfo, string> languageValues;
public virtual IDictionary<CultureInfo, string> LanguageValues
{
get
{
return languageValues;
}
}
}
下面是該實體的自動映射覆蓋:
public void Override(AutoMapping<MultilingualPhrase> mapping)
{
mapping
.HasMany(n => n.LanguageValues)
.Access.ReadOnlyPropertyThroughCamelCaseField()
.AsMap<string>("CultureName")
.Element("Phrase")
.Table("MultilingualPhraseValues");
}
這種映射(顯然)導致以下錯誤:
Failed to convert parameter value from a CultureInfo to a String.
我知道NHibernate有一個類型自定義類型實現CultureInfo
(我正在使用它來映射屬性),但我如何在我的映射覆蓋中指定它?
美妙,我想我是太專注於明確的類型上AsMap作爲目標類型,而不是源類型。謝謝! – 2011-05-06 09:33:30