美文网首页
NetCore项目实战+SqlServer(一)

NetCore项目实战+SqlServer(一)

作者: 醉酒的姑娘 | 来源:发表于2020-10-16 13:55 被阅读0次

    我们做的是前后端完全分离的一个博客系统,先把API接口开发完再进行web的开发

    项目使用到的技术

    项目框架:ASP.Net Core 2.2 Web API
    ORM:Entity Framework
    数据库引擎:SQL SERVER 2017
    前端框架:BootSharp
    权限验证:基于 Jwt 的角色权限验证

    创建Web项目和创建API项目
    image.png
    image.png
    image.png
    创建BlogIService和BlogService和Model和BlogTools类库
    image.png
    项目大体框架

    Blog:前端项目(与用户的交互,包含各种表单)
    BlogApi:接口项目
    BlogTool:工具类
    IService:接口服务
    Service:实现接口方法(与数据库访问交互)

    image.png
    修改Startup.cs文件,在Startup.cs类中,有两个方法ConfigureServices和Configure,在ConfigureServices方法中,我们将添加数据库字符串连接,通过依赖注入的方式添加到IServiceCollection 容器中,集成swagger(可视化的UI接口页面展示)

    需要添加的组件:Autofac,Swagger

    Swagger的添加与使用转移至另一篇文章NetCre集成Swagger这里我就不多说了

    image.png

    在appsettings.json文件中添加数据库字符串连接

    {
      "Logging": {
        "LogLevel": {
          "Default": "Warning"
      }
    },
    "AllowedHosts": "*",
    "ConnectionStrings": {
    "SqlServerConnection": "Server =.;Database =Blog;User ID =sa;Password =1234@qwer;Trusted_Connection = False;"
    }
    }
    

    创建数据库表User用户表,
    ID:自增主键
    UserName:用户名
    Password:密码采用MD5加密
    这里就随便写两三个主要字段,后期优化再加头像性别年龄等字段


    image.png

    创建Model


    image.png

    创建数据库上下文BlogDbContext.cs并添加表与Model实体类之间的映射
    DbContext主要作为实体类和数据库之间的桥梁,负责与数据的交互

    需要添加的组件 EntityFramewordCore

    namespace Service
    {
    public class BlogDbContext:DbContext
    {
        public BlogDbContext(DbContextOptions<BlogDbContext> options) : base(options) {
    
        }
        public DbSet<User> User { get; set; }
    }
    }
    

    在IService项目下添加IUserService.cs接口
    并在Service项目下创建UserService.cs实现IUserService里的所有方法


    image.png
    image.png

    在API中创建UserController.cs 构造函数中注入IUserService对象 编写方法返回json数据


    image.png

    启动API项目 在路径后面添加/swagger即可打开接口UI界面


    image.png

    测试


    image.png
    image.png

    项目整体架构


    image.png

    相关文章

      网友评论

          本文标题:NetCore项目实战+SqlServer(一)

          本文链接:https://www.haomeiwen.com/subject/meextktx.html