美文网首页
三层架构下构建数据库访问网站

三层架构下构建数据库访问网站

作者: lizg | 来源:发表于2018-11-24 11:18 被阅读10次

1 数据访问层的编写

using SE17D.Demo3.MVC.Model;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SE17D.Demo3.MVC.DAL
{
    public class StudentDal
    {
        DbContext dbContext = new BIOContext();
        //查询所有记录
        public List<STUDENT> GetList()
        {
            return dbContext.Set<STUDENT>().ToList();
        }

        //查询单个记录
        public STUDENT GetByID(int id)
        {
            return dbContext.Set<STUDENT>().Where(u => u.ID == id).FirstOrDefault();
        }

        //查询记录的条数
        public int GetCount()
        {
            return dbContext.Set<STUDENT>().Count();
        }

        //添加记录
        public int Add(STUDENT student)
        {
            dbContext.Set<STUDENT>().Add(student);
            return dbContext.SaveChanges();
        }

        //修改记录
        public int Update(STUDENT student)
        {
            dbContext.Set<STUDENT>().Attach(student);
            dbContext.Entry(student).State = EntityState.Modified;
            return dbContext.SaveChanges();
        }

        //删除记录
        public int DeleteByID(int id)
        {
            STUDENT student = dbContext.Set<STUDENT>().Where(u => u.ID == id).FirstOrDefault();
            dbContext.Entry(student).State = EntityState.Deleted;
            return dbContext.SaveChanges();
        }
    }
}

2 业务逻辑层的编写

using SE17D.Demo3.MVC.DAL;
using SE17D.Demo3.MVC.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SE17D.Demo3.MVC.BLL
{
    public class StudentBll
    {
        StudentDal studentDal = new StudentDal();
        public List<STUDENT> GetList()
        {
            return studentDal.GetList();
        }

        public STUDENT GetByID(int id)
        {
            return studentDal.GetByID(id);
        }

        public int GetCount()
        {
            return studentDal.GetCount();
        }

        public bool Add(STUDENT person)
        {
            return studentDal.Add(person) > 0;
        }

        public bool Update(STUDENT person)
        {
            return studentDal.Update(person) > 0;
        }

        public bool DeleteByID(int id)
        {
            return studentDal.DeleteByID(id) > 0;
        }
    }
}

3 用户层的控制器书写

using SE17D.Demo3.MVC.BLL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace SE17D.Demo3.MVC.UI.Controllers
{
    public class StudentController : Controller
    {
        StudentBll studentBll = new StudentBll();
        // GET: Student
        public ActionResult Index()
        {
            return View(studentBll.GetList());
        }
        //public ActionResult Add()
        //{
        //    return View();
        //}
    }
}

运行结果


捕获.PNG

相关文章

  • 三层架构下构建数据库访问网站

    1 数据访问层的编写 2 业务逻辑层的编写 3 用户层的控制器书写 运行结果

  • 网站架构演变过程

    网站架构演变过程 1.传统架构: 传统的SSH架构,分为三层架构 web控制层、业务逻辑层、数据库访问层。传统架构...

  • SpringCloud微服务基础概念铺垫

    单点****系统架构 传统****项目****架构 传统项目分为三层架构,将业务逻辑层、数据库访问层、控制层放入在...

  • 分层架构

    什么是分层架构 提到分层架构,大家最熟悉不过的当属三层架构了,由上至下分别为:表现层、业务逻辑层和数据访问层。三层...

  • C# WinForm项目三层架构简述

    基于C#.NET的WinForm项目,我们经常使用基于三层架构,来构建项目框架,这里简单的梳理一下三层架构的相关知...

  • 大型网站数据库优化及浅析大型网站的架构

    大型网站数据库优化及浅析大型网站的架构 2015-03-27 09 千万人同时访问的网站,一般是有很多个数据库同时...

  • 3D--知识点1

    三层架构 1.DAL(数据访问层)-->与数据库进行关联,对数据库进行增删改查操作2.BLL(业务逻辑层)-->负...

  • DDL数据定义语言

    MySQL 一、MVC和三层架构 MVC和三层架构.png 数据库的概念数据库的概念.png 验证MySQL是否安...

  • 大型网站技术架构(二)模式

    大型网站技术架构核心原理与案例分析 读书笔记 大型网站架构模式 一、网站架构模式 分层 大型网站一般分为三层: 应...

  • redis_集群

    1、为什么要弄redis集群 集群技术是构建高性能网站架构的重要手段,试想在网站承受高并发访问压力的同时,还需要从...

网友评论

      本文标题:三层架构下构建数据库访问网站

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