2013-07-27 19 views
0

給予代碼:如何查詢NHibernate中的一對多關係?

public class Audit { 
    public Audit { 
     Details = new List<AuditDetail>(); 
    } 
    public virtual IList Details { get; set; } 
    public virtual string SourceFile { get; string } 
    public virtual DateTime Timestamp { get; set; } 
    public virtual long Id { get; set; } 
} 

public class AuditDetail { 
    public virtual string CardNumber { get; set; } 
    public virtual string Message { get; set; } 
    public virtual Audit MyAudit { get; set; } 
    public virtual long Id { get; set; } 
} 

如何查詢過這一個一對多的關係,返回的對象與的SourceFile,CardNumber和消息值通過時間戳使用LINQ列表例如過濾?提前致謝。

回答

2

Audit類的構造函數缺少括號。

但是,如果我正確理解你的問題,以下應引導你朝着正確的方向前進。

from a in session.Query<Audit>() 
join d in session.Query<AuditDetail>() on a.Id equals d.MyAudit.Id 
where a.Timestamp <= DateTime.Now 
select new { a.SourceFile, d.CardNumber, d.Message }); 

您可以用您的首選標準替換<= DateTime.Now