.net core下配置访问数据库操作

配置读取

.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的扩展方法,封装了如下方法:

  • T Get<T>(id);
  • IEnumerable<T> GetAll<T>();
  • int Insert<T>(T obj);
  • int Insert<T>(Enumerable<T> list);
  • bool Update<T>(T obj);
  • bool Update<T>(Enumerable<T> list);
  • bool Delete<T>(T obj);
  • bool Delete<T>(Enumerable<T> list);
  • bool DeleteAll<T>();

这样对应你应用的简单的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; }
}
  • [Table("Tablename")] 标识对应的表名
  • [Key] 对应的主键
  • [ExplicitKey] 如果主键不是自增长的,用此标识
  • [Write(true/false)] 该字段是否可被写入

您可能感兴趣的文章:

  • .net Core连接MongoDB数据库的步骤详解
  • 在.NET Core类库中使用EF Core迁移数据库到SQL Server的方法
(0)

相关推荐

  • 在.NET Core类库中使用EF Core迁移数据库到SQL Server的方法

    前言 如果大家刚使用EntityFramework Core作为ORM框架的话,想必都会遇到数据库迁移的一些问题. 起初我是在ASP.NET Core的Web项目中进行的,但后来发现放在此处并不是很合理,一些关于数据库的迁移,比如新增表,字段,修改字段类型等等,不应该和最上层的Web项目所关联,数据的迁移文件放到这里也感觉有点多余,有点乱乱的感觉,所以才想着单独出来由专门的项目进行管理会比较好,也比较清晰! 注意目标框架选择的是.NET Core 2.0而不是.NET Standard 2.0.

  • .net Core连接MongoDB数据库的步骤详解

    前言 前两天在学习MongoDB相关的知识,做了个小Demo,做的是省份下面有多少所学校,嗯,做的比较粗暴... 我们在MongoDB的官方文档中看到,MongoDb的2.4以上的For .Net的驱动是支持.Net Core 2.0的. 所以,在我们安装好了MangoDB后,就可以开始MangoDB的.Net之旅了. 方法如下: 连接MongoDB首先要通过Nuget添加一个MongoDB的包,下载此包 安装完毕后开始写代码了,创建一个省份实体,一个学校实体 using MongoDB.Bso

  • .net core下配置访问数据库操作

    配置读取 .net core下读取配置还是有点麻烦的,本身没有System.Configuration.dll,所以在进行配置前需要自行引用Microsoft.Extensions.Configuration,截图如下: 这样的话我们就可以配置读取的相关编码了,比如我们数据库的链接字符串,在appsettings.json添加对应的数据库配置: "ConnectionStrings": { "TestDb": "server=localhost;port=

  • Window环境下配置Mongodb数据库

    Mongodb这几天也了解了一下,今天配置了下环境,从今天开始学下Mongodb数据库. 一.下载 在这个网址中选择要下载的开发环境https://www.mongodb.com/download-center,然后下载下来.我选择的是64位支持ssl的3.2.7版本. 二.安装 下载完msi文件之后安装,在安装的时候需要注意下安装的路径,我把它安装在了G:\MongoDB的文件夹中.安装完成后MongoDB文件夹会出现下面的几个文件 三.设置数据存放位置 1.新建一个文件夹用来存放数据库,我这

  • flask框架配置mysql数据库操作详解

    本文实例讲述了flask框架配置mysql数据库操作.分享给大家供大家参考,具体如下: 该篇博客配置环境为:python版本3.5,flask2.0,python3中已经不再支持MySQLdb模块,所有这里我用了pymysql,所有使用前应该 安装pymysql: pip install pymysql 在网上的好多资料都给的是使用sqlite的例子,由于很不喜欢所以今天分享一下flask-sqlalchemy操作mysql的方法. 以前习惯使用sqlalchemy,后来发现使用flask-sq

  • Spring boot 使用JdbcTemplate访问数据库

    SpringBoot 是为了简化 Spring 应用的创建.运行.调试.部署等一系列问题而诞生的产物, 自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 Spring Framework 对数据库的操作在 JDBC 上面做了深层次的封装,通过 依赖注入 功能,可以将 DataSource 注册到 JdbcTemplate 之中,使我们可以轻易的完成对象关系映射,并有助于规避常见的错误,在 SpringBoot

  • IIS7.0 Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站的教程图文详解

    配置环境 Windows版本:Windows Server 2008 R2 Enterprise Service Pack 1 系统类型: 64 位操作系统 了解HTTPS 为什么需要 HTTPS ? 在我们浏览网站时,多数网站的URL都是以HTTP开头,HTTP协议我们比较熟悉,信息通过明文传输; 使用HTTP协议有它的优点,它与服务器间传输数据更快速准确; 但是HTTP明显是不安全的,我们也可以注意到,当我们在使用邮件或者是在线支付时,都是使用HTTPS; HTTPS传输数据需要使用证书并对

  • Django+mysql配置与简单操作数据库实例代码

     第一步:下载mysql驱动 cmd进入创建好的django项目目录:使用命令 pip install mysqlclient 等待安装成功! 第二步:在settings.py中配置mysql连接参数(没有mysql的先装mysql) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名(你得先在mysql中创建数据库)', 'USER':'mysql用户名(如root)', 'PASSWOR

  • mac下配置和访问阿里云服务器(Ubuntu系统)的图文教程

    1.购买云服务器(http://www.aliyun.com/?spm=5176.3047821.1.1.vHFBuw) 注册帐号,在产品页面选择合适的服务器,进入详细页面选择配置,购买. 购买完成后进入管理控制台--云虚拟主机.ECS云服务器查看服务器状态. 2.注册域名.阿里云也提供域名注册和购买的功能,输入域名查询后购买即可.(国内注册域名后需要网络备案,备案操作和流程在阿里云里面有教程,有点麻烦) 3.域名解析.进入管理控制台--云解析,选择已注册的域名,点击后面的"解析"按钮

  • CI配置多数据库访问的方法

    本文实例讲述了CI配置多数据库访问的方法.分享给大家供大家参考,具体如下: 1.修改datebase.php文件,将: $db['XXX']['pconnect'] = TRUE; 修改成: $db['XXX']['pconnect'] = FALSE; 2.将原来的数据库链接定义复制一份,如当前 $db['bbs']['hostname'] = '你的数据库IP地址'; $db['bbs']['username'] = '链接用户名'; $db['bbs']['password'] = '数据

  • VMware下配置Linux系统局域网和外网访问图文教程

    要使用Linux系统很重要的一个操作就是使Linux系统能够访问互联网,只有Linux系统能够访问互联网才能够去下载很多自己所需要的资源,如果不能访问互联网那么使用Linux系统往往会卡在这一步,假设你装的是一个minimal版本的CentOS,那么很多Linux系统下面的工具都是没有被安装的,这个时候如果不能访问互联网,你会感觉特别的蛋疼,因为很多工具都没法下载以及安装,那么,今天小编就给大家分享一下如何在VMware下配置Linux系统成功访问局域网和外网. 第一步:打开VMware虚拟机,

  • Mysql 命令行模式访问操作mysql数据库操作

    使用环境 在cmd模式下输入 mysql --version (查看mysql安装的版本). 完整的命令可以通过mysql --help来获取. 本测试使用的Mysql版本是mysql5, 本测试使用的SQL: db_yves.sql: 链接: https://pan.baidu.com/s/1vZWWgAp7TS48nrBiMDpcaQ提取码: vveu 1.连接数据库 不借助数据库管理软件(如Navicat等软件),通过dos连接mysql软件库服务器,然后操作数据库. 连接数据库通用格式:

随机推荐