予期しない動作に遭遇し、それが明確ではありません。もちろん、distinct を使用できますが、その理由は何ですか?
エンティティがあります(流暢な自動マッピング):
public class Ticket
{
public virtual int Id { get; set; }
public virtual string Title { get; set; }
public virtual IList<Activity> Activities { get; set; }
}
public class Activity
{
public virtual int Id { get; set; }
public virtual string Title { get; set; }
public virtual Ticket Ticket { get; set; }
}
テストデータ(5 つのアクティビティを含む 1 つのチケット):
new Ticket { Id = 1, Activities = new List<Activity>
{
new Activity(), new Activity(), new Activity(), new Activity()
};
クエリ: _
var report = GetSessionFactory()
.OpenSession()
.QueryOver<Ticket>()
.JoinAlias(ticket => ticket.Activities, () => activity)
.List<Ticket>();
そして、私は次の結果を持っています: