Пример #1
0
 /// <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));
     }
 }
Пример #2
0
 /// <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));
     }
 }
Пример #3
0
        /// <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));
        }
Пример #4
0
        /// <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));
        }