Dapper dynamicParams 記錄

Dapper

   

這次小任務遇到一個特別要做的,如何在Dapper 抓住他的參數內容作記錄,看了一

下官方文件好像沒有可以得知參數內容狀況,所以自己寫一個組成List轉Json,在做日後寫

入log,就乾脆自己寫一個,範例如下
 

        static void DisplayCategoryName()
        {
            string categoryName = string.Empty;
            using (var cn = new SqlConnection(Untity.SqlConnection))
            {
                cn.Open();
                //動態參數用法
                string strSql = "SELECT CategoryName FROM Category WHERE Id = @Id  ";
                var dynamicParams = new DynamicParameters();//←動態參數
                dynamicParams.Add("Id", 1);
                categoryName = cn.QueryFirstOrDefault<string>(strSql,dynamicParams);
                Console.WriteLine(categoryName);
                var list = new Dictionary<string, string>();
                foreach (var paraName in dynamicParams.ParameterNames)
                {
                    var value = Convert.ToString(dynamicParams.Get<dynamic>(paraName));
                    list.Add(paraName,value);
                }
                string jsonData = JsonConvert.SerializeObject(list);  
                Console.WriteLine(jsonData);
                // WriteLog(jsonData);
            }
        }

發現異常的時候,如果是呼叫別人家的SP或是SQL的時候,自己本身環境上的問題,可以把相關資訊記錄下來

元哥的筆記