0

给定代码:

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 和 Message 值的对象列表,例如使用 LINQ 由 Timestamp 过滤?提前致谢。

4

1 回答 1

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为您喜欢的标准。

于 2013-07-28T11:00:35.147 回答