一个很初级的问题:NHibernate的左连接
我有两个班,审查和ReviewSentences:
public class Review
{
public virtual int recordId { get; set; }
public virtual string reviewerId { get; set; }
public virtual string reviewerName { get; set; }
public virtual string country { get; set; }
public virtual string zipCode { get; set; }
public virtual string reviewProduct { get; set; }
public virtual string reviewText { get; set; }
public virtual string reviewTextLanguage { get; set; }
public virtual double sentimentScore { get; set; }
public virtual bool isScoreRefined { get; set; }
}
pulic class ReviewSentences
{
public virtual int recordId { get; set; }
public virtual int reviewId { get; set; }
public virtual int sentenceId { get; set; }
public virtual string sentence { get; set; }
public virtual double sentimentScore { get; set; }
}
ReviewSentences.reviewId该物业是一个外键指Review.recordId。一个回顾可以有很多句子(评论:ReviewSentences为1:许多)
我一直在努力了很长时间,但现在无法与session.CreateCriteria复制下面的查询NHibernate的方面:
select * from Reviews r
left join
ReviewSentences rs
on
r.RecordId = rs.ReviewId
where rs.ReviewId is null
该查询向我提供了Review表中没有任何记录的ReviewSentences表中的所有评论。
奥姆斯不需要引用,每当你加载一个父实体时,你应该在实体之间使用*关系*来加载子实体。寻找一个JOIN意味着有一个映射问题 –
感谢给@PanagiotisKanavos方向。现在解决问题 – Syed