C#学习教程:如何映射ICompositeUserType我现有的nhibernate映射是这样的:我正在尝试创建equlivilantClassMap:internalclassInvoiceMap:ClassMap{publicInvoiceMap(){Id(x=>x.Id);地图(x=>x.Customer);地图(x=>x.Number);Map(x=>x.TotalValue).CustomType(typeof(MoneyCompositeUserType)).Column("TotalValue_Amount").Column("TotalValue_Currency");但是我得到了错误:—>NHibernate。MappingException:为属性映射的列数错误:MoneyHibernate.Invoice.TotalValue类型:MoneyHibernate.MoneyCompositeUserType所以我不认为声明列两次是正确的方法吗?您正在以正确的方式进行操作,但是,您需要在手动声明列之前将Columns.Clear()添加到地图中,如下所示:Map(x=>x.TotalValue).CustomType(typeof(MoneyCompositeUserType))。Columns.Clear().Columns.Add("TotalValue_Amount","TotalValue_Amount");否则,nHibernate将在复合用户类型映射的列集合中附加新的列名(因此出现错误的列数异常)。以上就是C#学习教程:如何映射ICompositeUserType共享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
