NHibernate:如何映射需要一些计算的集合?

时间:2018-02-09 01:24:48

标签: c# nhibernate nhibernate-mapping

是否可以使用.hbm.xml映射在字段上进行特殊计算检索的集合?

例如,以下是一些测试类和映射.hbm.xml:

public class Student {
   public virtual long StudentNo { get; set; }
   public virtual int Year { get; set; }
   public virtual IList<TestResult> Tests { get; set; }
}

public class TestResult {
   public StudentNo { get; set; }
   public DateTime TestDate { get; set; }
   public int SubjectCode { get; set; }
   public float Marks { get; set; }
}

  

<composite-id>
  <key-property name="StudentNo" column="STUDENT_NO"/>
  <key-property name="Year" column="YEAR"/>
</composite-id>



<bag name="Tests" table="TEST_RECORD" fetch="select" lazy="false">
  <key>
    <column name="STUDENT_NO"/>
  </key>


  <one-to-many class="TestResult" not-found="ignore"/>
</bag>

问题是在Student课程中,我怎样才能在TestDate等于年份时检索那些TestResults?

上面的.hbm.xml将检索所有的TestResults,但我只是想让TestResults在同一年的学生中获取日期。

如何定义.hbm.xml?

请教我,谢谢。

埃里克

0 个答案:

没有答案