Я пытаюсь создать IDictionary для объекта, используя другой класс в качестве ключа.
' Dictionary Mapping on Tool
HasMany(Function(x) x.Roles).KeyColumn("ToolRole_ID").AsEntityMap("RoleType_ID").Inverse.Cascade.AllDeleteOrphan().Table("ToolRoles")
' RoleType Mapping
Public Sub New()
Id(Function(x) x.ID).GeneratedBy.GuidComb().Column("ToolRole_ID")
References(Function(x) x.Tool).Not.Nullable.Column("Tool_ID")
References(Function(x) x.RoleType).Not.Nullable.Column("RoleType_ID")
References(Function(x) x.User).Not.Nullable.Column("User_ID")
Map(Function(x) x.LastModified).Not.Nullable()
Table("ToolRoles")
End Sub
Я больше не получаю никаких ошибок сопоставления благодаря этому сообщению: Как сопоставить этот словарь с новейшей версией fluentNHibernate? , но моя коллекция не заполняется, хотя я знаю, что у нее есть дочерние объекты.
Какие-либо предложения?
{"Could not determine type for: ToolDatabaseLib.RoleType, ToolDatabaseLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null, for columns: NHibernate.Mapping.Column(RoleType)"}
30.07.2012AsMap
вам не следует использовать лямбда-функцию для указания свойства, которое вы хотите предоставить, если имя столбца свойства не соответствует имени свойства. Мое рабочее отображение было.AsMap(of String)("task_name")
вместо.AsMap(function(x) x.Name))
17.08.2012