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; }
}

これらの 1 対多の関係に対してクエリを実行して、LINQ を使用してタイムスタンプなどでフィルター処理された SourceFile、CardNumber、および Message 値を持つオブジェクトのリストを返すにはどうすればよいですか? 前もって感謝します。

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 に答える