第四周——ASP.NET Core框架学习

一、Web Api架构组织

一)MVC 设计模式中的Model与Controller:

在这里插入图片描述

  • 在 MVC 模式中,控制器(Controller)是初始入口点,负责选择要使用的模型类型和要呈现的视图
    在这里插入图片描述

1、Model层:

  1. 表示应用程序和任何应由其执行的业务逻辑或操作的状态。
  2. 业务逻辑应与保持应用程序状态的任何实现逻辑一起封装在模型中。
  • Entity层: 实体类。
namespace Library.Entity
{
   
    //Book实体类:ID、姓名、作者
    public class Book
    {
   
        public int Id {
    set; get; }
        public string Name {
    set; get; }
        public string Author {
    set; get; }
    }
}
  • Service层:
  1. 相当于对Model与Contorller的进一步解耦,里面封装了通用的业务逻辑、通用的数据接口等。
  2. 封装了与数据库的基本操作,供Controller层调用完成高层业务逻辑。
using Library.Entity;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Library.Services
{
   
    //图书通用操作的的接口
    public interface IBookRepository
    {
   
        Task<IEnumerable<Book>> GetBooksAsync();	//获取所有图书
        Task<Book> GetBookAsync(int id);	//根据ID获取相应图书
        void AddBook(Book book);	//增加图书
        void UpdateBook(Book book);	//更新图书
        void DeleteBook(Book book);	//删除图书
        bool BookExistAsync(int id);	//根据ID检测是否存在图书
    }
}
using Library.Entity;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace Library.Services
{
   
    //图书通用操作的实现
    public class BookRepository : IBookRepository
    {
   
        //DbContext 数据库实体,由EF框架去进行SQL操作
        private readonly LibraryDbContext _context;
        public BookRepository(LibraryDbContext context)
        {
   
            _context = context;
        }
        //增加图书
        public void AddBook(Book book)
        {
   
            _context.Books.Add(book);
            _context.SaveChanges();
        }

        /// <summary>
        /// 根据ID检测是否存在图书
        /// </summary>
        /// <param name="id"></param>
        /// <returns>true or false</returns>
        public bool BookExistAsync(int id)
        {
   
            return  _context.Books.Any(x => x.Id =
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值