肿瘤康复,算八字的网站,水珍珠菜
配置读取
.net core下读取配置还是有点麻烦的,本身没有system.configuration.dll,所以在进行配置前需要自行引用microsoft.extensions.configuration,截图如下:
这样的话我们就可以配置读取的相关编码了,比如我们数据库的链接字符串,在appsettings.json添加对应的数据库配置:
"connectionstrings": { "testdb": "server=localhost;port=3306;database=mytest;user=test;password=123456;charset=utf8;" }
读取配置相关代码如下:
public class appsetting { private static readonly object objlock = new object(); private static appsetting instance = null; private iconfigurationroot config { get; } private appsetting() { var builder = new configurationbuilder() .setbasepath(directory.getcurrentdirectory()) .addjsonfile("appsettings.json", optional: false, reloadonchange: true); config = builder.build(); } public static appsetting getinstance() { if (instance == null) { lock (objlock) { if (instance == null) { instance = new appsetting(); } } } return instance; } public static string getconfig(string name) { return getinstance().config.getsection(name).value; } }
这样就可以直接读取对应的配置信息啦:
string connection_string = appsetting.getconfig("connectionstrings:testdb");
数据库操作
数据库相关操作还是建议使用dapper以及dapper.contrib,比较轻量,也比较方便。
dapper相信大家还是比较熟悉的,这里简单说下dapper.contrib,基于dapper的扩展方法,封装了如下方法:
这样对应你应用的简单的crud方法可以很轻松的搞定的。比如下面几个例子:
//根据主键id查询 using (var conn = databasemanager.getconnection(databasemanager.dbname)) { await conn.openasync(); return await conn.getasync<usermodel>(id); }
新增数据:
//新增 using (var conn = databasemanager.getconnection(databasemanager.dbname)) { await conn.openasync(); await conn.insertasync(entity); }
修改数据:
//修改 using (var conn = databasemanager.getconnection(databasemanager.dbname)) { await conn.openasync(); await conn.updateasync(entity); }
需要注意的是,需要给对应的实体加上特性:
[table("user")] public class usermodel { [key] public int id { get; set; } public string username { get; set; } public string remark { get; set; } }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
asp.net搭建博客,使用BlogEngine.NET+MySql搭建博客
网友评论