频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
我的第一个netcore2.2 api项目搭建(一) - sy2015 - 博客园
2019-05-09 14:36:29         来源:sy2015  
收藏   我要投稿

我的第一个netcore2.2 api项目搭建(一)

早早就想入门netcore,一直没下定决心,这次正好碰上项目服务变更,便想着入坑试试,边学边用。

目标:

一.api使用core版的SqlSugar,集成orm,实现快速开发

二.api使用Swagger,实现api文档管理

三.api添加身份验证功能

开发环境:

Win10、VS2017、oracle11g

一.api使用core版的SqlSugar,集成orm,实现快速开

1.1一步一步来,很简单

\

\

F5运行<喎"/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"https://www.2cto.com/uploadfile/Collfiles/20190509/20190509134040455.png" alt="\" />

初步搭建完成。

1.2添加SqlSugar项目

下载地址:https://github.com/sunkaixuan/SqlSugar

\

下载后解压,将Asp.NetCore2里的SqlSugar文件夹拷贝到api项目根目录下,解决方案添加SqlSugar项目。

\

1.3添加其他项目

\

总体依赖关系:

JH.OPEMR.DBUtility:SqlSugar、JH.OPEMR.Model 实现db实例化,供业务层调用

JH.OPEMR.BLL:JH.OPEMR.DBUtility、JH.OPEMR.Model、JH.OPEMR.Common 业务层,供视图 或 api层调用

JH.OPEMR.API:JH.OPEMR.BLL、JH.OPEMR.Model、JH.OPEMR.Common

JH.OPEMR.DBUtility层:

该层主要提供db上下文,给业务层调用,使用官方提供的上下文即可

\

全部代码:

\using SqlSugar; using System; using System.Collections.Generic; using System.Text; namespace JH.OPEMR.DBUtility { public class DbContext where T : class, new() { public DbContext() { Db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = "Data Source=192.168.11.43/xxx;User ID=xx;Password=xx;", DbType = DbType.Oracle, InitKeyType = InitKeyType.Attribute,//从特性读取主键和自增列信息 IsAutoCloseConnection = true,//开启自动释放模式和EF原理一样我就不多解释了 }); //调式代码 用来打印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 Db;//用来处理事务多表查询和复杂的操作 public SimpleClient StudentDb { get { return new SimpleClient(Db); } }// public SimpleClient CurrentDb { get { return new SimpleClient(Db); } }//用来处理T表的常用操作 /// /// 获取所有 /// /// public virtual List GetList() { return CurrentDb.GetList(); } /// /// 根据主键删除 /// /// /// public virtual bool Delete(dynamic id) { return CurrentDb.Delete(id); } /// /// 更新 /// /// /// public virtual bool Update(T obj) { return CurrentDb.Update(obj); } } } View Code

JH.OPEMR.BLL层:

\

新建了BaseBLL类,该类继承上下文,可自行扩展方法,现在什么方法都没,只是为了提供给其他业务层调用,或者api直接调用,然后其他业务类可以继承该类,其他业务类就统一归基类管制了

\

User表的业务层:

\

ok,到这里,db层和业务层基本搭建完成,在api层测试下看看:

\

将原有的values根据id获取的方法改造下,F5运行,结果如下:

\

至此,第一个目标完成!!

点击复制链接 与好友分享!回本站首页
相关TAG标签 - - 博客园
上一篇:Abp vNext计划在今年6月发布. - realmaliming - 博客园
下一篇:PPIO 分布式存储在数据分发上有哪些优势? - 个人文章 - SegmentFault 思否
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站