冗長な主キーの問題がいくつかあります。
多くのレポートを含むアイテムがあります。以下のようにマッピングしました。私はできますSession.QueryOver(Of Item).List
が、余分な列は生成されません。私もできますSession.QueryOver(Of Report).List
が、余分な列は生成されません。
ただし、アイテムからレポートへの関係をトラバースしようとすると、以下に示すSQLクエリが表示されます。誰か教えてもらえますか?前もって感謝します!
アイテムマッピング:
Public Class ItemMapping
Inherits ClassMap(Of Item)
Public Sub New()
Table("Items")
Id(Function(x) x.ItemID)
HasMany(Function(x) x.Reports).KeyColumn("ItemID").Inverse().Cascade.All()
End Sub
End Class
レポートマッピング:
Public Class ReportMapping
Inherits ClassMap(Of Report)
Public Sub New()
Table("Reports")
Id(Function(x) x.ReportID)
References(Function(x) x.Item).Column("ItemID")
Map(Function(x) x.ReportName)
End Sub
End Class
SQL結果:
SELECT repor0_.ItemID as ItemID1_,
repor0_.ReportID as Rep1_1_,
repor0_.ReportID as Rep1_4_0_,
repor0_.ReportName as Rep2_4_0_,
repor0_.ItemID as ItemID4_0_ FROM dbo.Reports repor0_ WHERE repor0_.ItemID=@p0;@p0 = 1266 [Type: Int32 (0)]