我正在尝试解决XML映射问题。 我有两个视图基于一些表格。
Training
- Id int PK
- LanguageId int
Module
- Id PK
- TrainingId FK
- LanguageId int
在两个视图中都设置了id的键。
我想在Training类中使用外键TrainingId构建一对多映射,包括不属于主键的列 - LanguageId。这是我现在拥有的xml的一部分。
<bag name="Modules" inverse="true" cascade="none">
<key>
<column name="TrainingId"/>
</key>
<one-to-many class="Model.Domain.ModuleCategoryTranslationView" />
</bag>
我想在某种情况下包括Training.LanguageId = Module.LanguageId。
感谢您的帮助。
答案 0 :(得分:0)
这实际上没有任何意义。
如果培训ID是PK,它是唯一的吗?那么如何为多种语言创建一个具有相同ID的培训呢?
如果训练ID已经是唯一的,那么为什么需要在Bag的条件下添加LanguageID?
如果您希望将Training.Id + Training.LanguageID作为主键,则应将其映射为复合键并在包中使用它,这应该可行。
不,据我所知,不支持你所要求的,唯一的方法是定义一个过滤器并在运行时将它应用于你的查询。