コード例 #1
0
 protected TResult useDbContext <TResult>(Func <BdcContext, TResult> action)
 {
     using (var __dbcontext = new BdcContext())
     {
         return((TResult)action.DynamicInvoke(__dbcontext));
     }
 }
コード例 #2
0
ファイル: ConfigManager.cs プロジェクト: lyon913/BDCDC
 /// <summary>
 /// 获取服务器端配置信息
 /// </summary>
 /// <typeparam name="T">返回值类型</typeparam>
 /// <param name="key">配置项名称</param>
 /// <returns>配置值</returns>
 private static T getServerConfigValue <T>(string key)
 {
     using (var ctx = new BdcContext())
     {
         string sql   = "select cfgValue from Config where cfgKey=@key";
         string value = ctx.Database.SqlQuery <string>(sql, new SqlParameter("key", key)).Single();
         return((T)Convert.ChangeType(value, typeof(T)));
     }
 }
コード例 #3
0
 protected TResult useTransaction <TResult>(Func <BdcContext, TResult> action)
 {
     using (var __dbcontext = new BdcContext())
     {
         using (var tx = __dbcontext.Database.BeginTransaction())
         {
             try
             {
                 TResult result = (TResult)action.DynamicInvoke(__dbcontext);
                 __dbcontext.SaveChanges();
                 tx.Commit();
                 return(result);
             }
             catch (Exception ex)
             {
                 tx.Rollback();
                 throw ex;
             }
         }
     }
 }