Re0:在.NetCore 中Dapper的基本用法

整理一下目前在用的Dapper

与FrameWork不同,NetCore数据库配置需要从appsettings.json中获取

刚接触的时候被这块坑了,自己手动建了个app.config。然后你懂的(笑哭)

读取配置文件:

 1 public class AppSetting
 2     {
 3         private static readonly object objLock = new object();
 4         private static AppSetting instance = null;
 5 
 6         private IConfigurationRoot Config { get; }
 7 
 8         private AppSetting()
 9         {
10             var builder = new ConfigurationBuilder()
11              .SetBasePath(Directory.GetCurrentDirectory())
12              .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
13             Config = builder.Build();
14         }
15 
16         public static AppSetting GetInstance()
17         {
18             if (instance == null)
19             {
20                 lock (objLock)
21                 {
22                     if (instance == null)
23                     {
24                         instance = new AppSetting();
25                     }
26                 }
27             }
28 
29             return instance;
30         }
31 
32         public static string GetConfig(string name)
33         {
34             if (string.IsNullOrWhiteSpace(name))
35             {
36                 return "name is null";
37             }
38             return GetInstance().Config.GetSection(name).Value;
39         }
40     }

 

日常够用的几个方法:

 1         /// <summary>
 2         /// 返回行数
 3         /// </summary>
 4         /// <param name="sql">SQL</param>
 5         /// <returns></returns>
 6         public static int Execute(string sql)
 7         {
 8             string URL = AppSetting.GetConfig("ConnectionStringsDapper:DB");
 9             IDbConnection conn = new SqlConnection(URL);
10             int result = conn.Execute(sql);
11             return result;
12         }
13 
14         /// <summary>
15         /// 返回List
16         /// </summary>
17         /// <param name="sql">SQL</param>
18         /// <returns></returns>
19         public static dynamic Query(string sql)
20         {
21             string URL = AppSetting.GetConfig("ConnectionStringsDapper:DB");
22             IDbConnection conn = new SqlConnection(URL);
23             dynamic result = conn.Query(sql);
24             return result;
25         }
26 
27         /// <summary>
28         /// 返回单条
29         /// </summary>
30         /// <param name="sql">SQL</param>
31         /// <returns></returns>
32         public static dynamic QueryFirst(string sql)
33         {
34             string URL = AppSetting.GetConfig("ConnectionStringsDapper:DB");
35             IDbConnection conn = new SqlConnection(URL);
36             dynamic result = conn.QueryFirst(sql);
37             return result;
38         }            

 

Controller中调用:

1     
2       string sql = "bula bula bula";
3          dynamic result = Query(sql);
4 
5       string sql = "bula bula bula";
6         dynamic result = QueryFirst(sql);
7 
8       string sql = "bula bula bula";
9          int result= Execute(sql);

 

posted @ 2019-04-08 16:51  Ginease  阅读(450)  评论(0编辑  收藏  举报