.NET Core的SqlSugar上手使用小例子
开始直接建个空的WEB项目-建Controllers文件夹-开启MVC-添加NuGet程序包SqlSugarCore
public class Startup
{
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(); //注册mvc服务
} // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
} app.UseMvc(routes=> { //开启mvc
routes.MapRoute(
name:"default",
template:"{controller=Home}/{action=Index}/{id?}"
);
});
}
}
把数据库的连接语句写到appsettings.json里面:
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"DBSetting": {
"ConnectString": "server=.;database=test_core;uid=sa;pwd=123"
},
"AllowedHosts": "*"
}
创建BaseHelper类:
public class BaseHelper
{
public SqlSugarClient db; static IConfiguration configure = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json").Build(); private static readonly string _connectionstring = configure["DBSetting:ConnectString"];
// public BaseHelper(string connectionString)
public BaseHelper()
{
db = new SqlSugarClient(
new ConnectionConfig()
{
ConnectionString = _connectionstring,
DbType = DbType.SqlServer,//设置数据库类型
IsAutoCloseConnection = true,//自动释放数据务,如果存在事务,在事务结束后释放
InitKeyType = InitKeyType.Attribute //从实体特性中读取主键自增列信息
}); //用来打印Sql方便你调式
db.Aop.OnLogExecuting = (sql, pars) =>
{
Console.WriteLine(sql + "\r\n" +
db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value)));
Console.WriteLine();
};
}
public SqlSugarClient GetDb()
{
return db;
} public bool InsertInto<T>(T obj) where T : class, new()
{
return db.Insertable(obj).ExecuteCommandIdentityIntoEntity();
} public int UpdateInfo<T>(Expression<Func<T, bool>> set, Expression<Func<T, bool>> where) where T : class, new()
{
return db.Updateable<T>().SetColumns(set).Where(where).ExecuteCommand();
}
}
直接在控制器操作即可:
public class HomeController : Controller
{
private static SqlSugarClient _db = new BaseHelper().GetDb();
private SimpleClient<Student> db = new SimpleClient<Student>(_db);
public IActionResult Index()
{
//db.Insert(new Student()
//{
// ClassId = 113,
// Name = "小明"
//}); //_db.Insertable(new Student() {ClassId = 1,Name = "小高"}).ExecuteCommandIdentityIntoEntity(); //var re = _db.Updateable(new Student() { ClassId=2, Name = "小梅" }).Where(p=>p.ClassId==2).ExecuteCommand(); //更新全部 //_db.Updateable<Student>().SetColumns(p=>p.Name=="小小").Where(p => p.ClassId == 2).ExecuteCommand(); //更新指定字段 //_db.Deleteable<Student>().Where(p => p.Name == "2").ExecuteCommand(); //删除 UpdateInfo<Student>(p=>p.Name=="大大",p=>p.ClassId==); new BaseHelper().InsertInto<Student>(new Student()
{
ClassId = ,
Name = "小明"
});
return View();
}
public bool InsertInto<T>(T obj) where T : class, new()
{
return _db.Insertable(obj).ExecuteCommandIdentityIntoEntity();
}
public int UpdateInfo<T>(Expression<Func<T, bool>> set, Expression<Func<T, bool>> where) where T : class, new()
{
return _db.Updateable<T>().SetColumns(set).Where(where).ExecuteCommand();
}
}
还有很多可以直接使用的方法,可以去官网看看 => http://www.codeisbug.com/Home/Doc
.NET Core的SqlSugar上手使用小例子的更多相关文章
- ASP.NET Nlog上手练习小例子
添加NuGet程序包- Nlog Nlog.Web.AspNetCore 两个包. public void Configure(IApplication ...
- 【zTree】 zTree使用的 小例子
使用zTree树不是第一次了 但是 还是翻阅着之前做的 对照着 使用起来比较方便 这里就把小例子列出来 总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先 在 ...
- 2、Lucene 最简单的使用(小例子)
在了解了Lucene以后,我打算亲手来做一个Lucene的小例子,这个例子只是Lucene最简单的应用:使用Lucene实现标准的英文搜索: 1.下载Lucene 下载Lucene,到Lucene的官 ...
- jsf小例子
有人问我用过jsf没? 当时没有用过,就看了一下: 写了一个小例子 JSF和struts2 差不多的,都有一些配置和跳转 struts2的action配置和JSF的faces-config.xm ...
- c/c++ 继承与多态 文本查询的小例子(非智能指针版本)
问题:在上一篇继承与多态 文本查询的小例子(智能指针版本)在Query类里使用的是智能指针,只把智能指针换成普通的指针,并不添加拷贝构造方法,会发生什么呢? 执行时,代码崩掉. 分析下面一行代码: Q ...
- Tag recommendaion... 论文中的小例子,使用HOSVD算法推荐
本文内容来自于论文:Tag recommendations based on tensor dimensioanlity reduction 在社会标签系统中,存在三元关系,用户-物品-标签.这些数据 ...
- Spring.Net在ASP.NET Mvc里使用的一个小例子
就贴个小例子,就不注意格式了. 1.下载dll NuGet的下载地址:http://docs.nuget.org/docs/start-here/installing-nuget 在vs的NuGet里 ...
- springmvc入门的第一个小例子
今天我们探讨一下springmvc,由于是初学,所以简单的了解一下 springmvc的流程,后续会持续更新... 由一个小例子来简单的了解一下 springmvc springmvc是spring框 ...
- java即时通信小例子
学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...
随机推荐
- Morpheus
https://software.broadinstitute.org/morpheus/
- minimap2 长reads比对工具
minimap2 github 官网 https://github.com/lh3/minimap2 安装 git clone https://github.com/lh3/minimap2 cd m ...
- 解决wordpress修改固定链接后出现404错误不能访问文章的方法
首先,建议大家安装完wordpress网站程序之后第一时间设置一下固定链接,避免以后修改出错.在wp后台仪表盘左侧导航里找到“设置——固定链接”即可配置你的wordpress固定链接,通常我习惯使用的 ...
- Java设计模式之builder模式
Java设计模式之builder模式 今天学mybatis的时候,知道了SQLSessionFactory使用的是builder模式来生成的.再次整理一下什么是builder模式以及应用场景. 1. ...
- sql注入用<>绕过被过滤的select ——百度杯9月第二场SQL
题目提示SQL注入,打开源代码发现<!--SELECT * FROM info WHERE id=1--> 尝试union select 1,2,3提示inj code! 经过多次尝试之后 ...
- 【Beta阶段】第九次Scrum Meeting
每日任务内容 队员 昨日完成任务 明日要完成的任务 张圆宁 #66 修改登录注册按钮https://github.com/rRetr0Git/rateMyCourse/issues/66 #69 后端 ...
- [技术博客]使用adb命令获取app(游戏)错误和警告日志
adb命令的使用 直接在命令行中输入: adb logcat *:W 注意:这句命令的意思是显示所有优先级大于等于警告(Warning)的日志,查找崩溃问题一般用: adb logcat *:E 注意 ...
- leetcode 688. “马”在棋盘上的概率
题目描述: 已知一个 NxN 的国际象棋棋盘,棋盘的行号和列号都是从 0 开始.即最左上角的格子记为 (0, 0),最右下角的记为 (N-1, N-1). 现有一个 “马”(也译作 “骑士”)位于 ( ...
- Scrapy之Spider
Spider Spider类定义了如何爬取某个(或某些)网站.包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item). 换句话说,Spider就是您定义爬取的动作及 ...
- Python爬取视频指南
摘自:https://www.jianshu.com/p/9ca86becd86d 前言 前两天尔羽说让我爬一下菜鸟窝的教程视频,这次就跟大家来说说Python爬取视频的经验 正文 https://w ...