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 に答える