2

我正在尝试使用另一个类作为键在对象上创建一个 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 版本映射此字典?,但即使我知道它有子对象,我的集合也没有被填充。

有什么建议么?

4

1 回答 1

1

因为 RoleType 是 ToolRole 的一个属性,所以您可以尝试标准 Map 语法。

HasMany(Function(x) x.Roles)
    .KeyColumn("ToolRole_ID")
    .AsMap(Function(x) x.RoleType)
    .Inverse()
    .Cascade.AllDeleteOrphan();
于 2012-07-27T06:59:47.720 回答