.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一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...
随机推荐
- 第08组 Alpha冲刺(4/4)
小李的博客 作业博客 作业链接 组员1李昕晖(组长) 过去两天完成了哪些任务 文字/口头描述 11月20日了解各个小组的进度与难以攻破的地方,晚上安排开会,安排新的冲刺任务. 实现地图功能 展示Git ...
- RPGMaker MV 入门教程
RPG Maker是一个十分优秀的rpg游戏制作引擎 恩 一个被定义为游戏的游戏引擎 可以用来十分便捷的制作rpg游戏 有兴趣的可以尝试一下 满足自己想做游戏的愿望. Step1 决定你的RPG形 ...
- linux中SIGHUP与nohup的关系
SIGHUP信号与控制终端 UNIX中进程组织结构为 session (会话)包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程.一个session可能会有一个session首进程, ...
- RSA前台加密后台解密的应用
写在前面 项目安全测试需要将登录功能修改, AES加密不符合要求, 现改为RSA非对称加密.(将登录密码加密后传给后台, 后台解密后再进行一系列的校验) .期间遇到了前台js加密但是后台解密失败的问题 ...
- 美化自己的loading框
美化自己的loading框 ._showloading { position: absolute; left:; width: 100%; height: 100%; top:; background ...
- 解决:File "/usr/lib/python2.7/site-packages/more_itertools/more.py", line 340 def _collate(*iterables, key=lambda a: a, reverse=False): 的报错
cyberb commented on 15 Apr Traceback (most recent call last): File "/snap/users/x1/python/bin/l ...
- Nginx配置proxy_pass转发/路径问题
proxy_ignore_client_abort on; #不允许代理端主动关闭连接 upstream的负载均衡,四种调度算法 #调度算法1:轮询.每个请求按时间顺序逐一分配到不同的后端服务器,如果 ...
- promise 和 async await比较
async搭配await是ES7提出的,它的实现是基于Promise.这里使用它对比Promise的用法,这里只是简单的适合日常业务的使用场景. async.await是ES7中的提案,通过同步方 ...
- scrapy爬虫案例:用MongoDB保存数据
用Pymongo保存数据 爬取豆瓣电影top250movie.douban.com/top250的电影数据,并保存在MongoDB中. items.py class DoubanspiderItem( ...
- IfcMaterial
IfcMaterial is a homogeneous or inhomogeneous substance that can be used to form elements (physical ...