/// <summary> /// データベースからレコードを1件取得する /// </summary> /// <typeparam name="TRecord"></typeparam> /// <param name="aQuery">Queryオブジェクト</param> /// <param name="aLoadMode">読込モード</param> /// <param name="aCacheStrategy">キャッシュ動作方式</param> /// <returns>取得したレコード</returns> /// <remarks>指定された抽出条件で2件以上のレコードが該当した場合は、例外を送出する</remarks> public TRecord FindOne <TRecord>(Query <TRecord> aQuery , Tran.LoadMode aLoadMode = Tran.LoadMode.ReadOnly , Tran.CacheStrategy aCacheStrategy = Tran.CacheStrategy.UseCache) where TRecord : class, IRecord, new() { using (Tran aTran = this.CreateTran()) { return(aTran.FindOne <TRecord>(aQuery, null, aLoadMode, aCacheStrategy)); } }
/// <summary> /// データベースからレコードを1件取得する /// </summary> /// <typeparam name="TRecord"></typeparam> /// <param name="aQuery">Queryオブジェクト</param> /// <param name="aPlaceHolders">プレースホルダ</param> /// <param name="aLoadMode">読込モード</param> /// <param name="aCacheStrategy">キャッシュ動作方式</param> /// <returns>取得したレコード</returns> /// <remarks>指定された抽出条件で2件以上のレコードが該当した場合は、例外を送出する</remarks> public TRecord FindOne <TRecord>(Query <TRecord> aQuery , Dictionary <string, string> aPlaceHolders , Tran.LoadMode aLoadMode = Tran.LoadMode.ReadOnly , Tran.CacheStrategy aCacheStrategy = Tran.CacheStrategy.UseCache) where TRecord : class, IRecord, new() { using (Tran aTran = this.CreateTran()) { return(aTran.FindOne <TRecord>(aQuery, aPlaceHolders, aLoadMode, aCacheStrategy)); } }
/// <summary> /// データベースからレコードを取得する /// </summary> /// <typeparam name="TRecord"></typeparam> /// <param name="aIQuery">Queryオブジェクト</param> /// <param name="aLoadMode">読込モード</param> /// <param name="aCacheStrategy">キャッシュ動作方式</param> /// <returns>取得したレコードのコレクション</returns> /// <remarks>aQueryがQuery(Of TRecord)型でないのは、 /// オーバーロード解決時に、ジェネリックパラメータの制約が無視される為</remarks> public IRecordReader <TRecord> Find <TRecord>(Query <TRecord> aIQuery , Tran.LoadMode aLoadMode = Tran.LoadMode.ReadOnly , Tran.CacheStrategy aCacheStrategy = Tran.CacheStrategy.UseCache) where TRecord : class, IRecord, new() { //トランザクションの開始 Tran aTran = this.CreateTran(); //イテレート終了時にトランザクションを終了するRecordReaderを返す return(new CommitAtEndRecordReader <TRecord>(aTran.Find <TRecord>(aIQuery, null, aLoadMode, aCacheStrategy), aTran)); }
/// <summary> /// データベースからレコードを取得する /// </summary> /// <typeparam name="TRecord"></typeparam> /// <param name="criteriaRec">抽出条件を格納したレコード</param> /// <param name="aPlaceHolders">プレースホルダ</param> /// <param name="aLoadMode">読込モード</param> /// <param name="aCacheStrategy">キャッシュ動作方式</param> /// <returns>取得したレコードのコレクション</returns> /// <remarks></remarks> /// public IRecordReader <TRecord> Find <TRecord>(TRecord criteriaRec , Dictionary <string, string> aPlaceHolders , Tran.LoadMode aLoadMode = Tran.LoadMode.ReadOnly , Tran.CacheStrategy aCacheStrategy = Tran.CacheStrategy.UseCache) where TRecord : class, IRecord, new() { //トランザクションの開始 Tran aTran = this.CreateTran(); //イテレート終了時にトランザクションを終了するRecordReaderを返す return(new CommitAtEndRecordReader <TRecord>(aTran.Find(criteriaRec, aPlaceHolders, aLoadMode, aCacheStrategy), aTran)); }