2
我使用流利NHibernate(自動映射)將我的域對象映射到數據庫表。我創建了自己的'Date'類,我使用'DateTranslator'映射 - NHibernate的'IUserType'的實現。流利的NHibernate - 應用自定義類型的慣例
public class MyDomainObject : DomainObject
{
public Date Date { get; set; }
}
public class MyDomainObjectMappingOverride : IAutoMappingOverride<MyDomainObject>
{
public void Override(AutoMapping<MyDomainObject> mapping)
{
mapping.Map(x => x.Date).CustomType(typeof(DateTranslator));
}
}
正如你所看到的 - 我已經創建了一個映射覆蓋的領域對象,這樣我可以指定要用於映射「日期」屬性的自定義類型。
現在 - 這意味着我必須爲包含'Date'類型的屬性的所有域對象創建映射覆蓋。
我想在這裏使用一個約定,以便'DateTranslator'將用於映射'Date'類型的所有屬性,但我一直無法弄清楚。
任何幫助,這將不勝感激。
將無法工作。 –
然後你忘了從automapping中排除自定義類型。覆蓋布爾ShouldMap(t){返回t!= typeof(日期)&& base.ShouldMap(t); }' – Firo
我也有這個問題。看起來,ShouldMap(類型類型)永遠不會被調用我的屬性,它具有自定義基元類型,但它也不會觸及我的IPropertyConvention。有什麼顯而易見的,我可能錯過了? – DavGarcia