очень начинающий вопрос: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: Many)
Я пытался в течение долгого времени, но не в состоянии воспроизвести следующий запрос с точки зрения NHibernate с session.CreateCriteria:
select * from Reviews r
left join
ReviewSentences rs
on
r.RecordId = rs.ReviewId
where rs.ReviewId is null
Запрос дает мне все отзывы из таблицы Review, в которых нет записей в таблице ReviewSentences.
ORMs не нужно ссылки, вы должны использовать * отношения * между объектами для загрузки дочерних объектов всякий раз, когда вы загружаете родительский объект. Поиск JOIN означает, что есть проблема с отображением –
Спасибо за направление @PanagiotisKanavos. Проблема решена сейчас – Syed