zoukankan      html  css  js  c++  java
  • C#三层架构

    C#三层架构

    三层架构分为:表现层(UI(User Interface))、业务逻辑层(BLL(Business Logic Layer))、数据访问层(DAL(Data Access Layer))再加上实体类库(Model)   Model不属于三层架构

    创建三层架构:

    1.在解决方案中分别创建MySchool.DAL、MySchool.BLL、MySchool.UI、MySchool.Model的类库,并把类库中的class.cs文件删除

    2.在MySchool.Model层创建实体类,Grade类

    3.在MySchool.DAL层创建SQLHelper工具类连接SQLServer数据库

    更改命名空间,换成在Myschool.DAL 在MySchool.UI层中的App.config中创建连接数据库的字符串

    并在MySchool.DAL层中创建的GradeDAL,在创建的类中创建查询所有信息的方法,(引用=添加引用=引入MySchool.Model)

    在MySchool.BLL层中创建GradeBLL类,在类中先new出MySchool.DAL层中的GradeDAL类,然后创建方法返回GradeDAL的方法 引用MySchool.DAL和MySchool.Model

    在MySchool.UI层,创建窗体应用程序,在窗体中拖入一个DataGridView,在form.cs中,创建GradeBLL的实例,用GradeBLL对象点出查询所有信息的方法,绑定到DataGridView里面 引入MySchool.DAL、MySchool.BLLMySchool.Model

    三层架构创建完成

    为什么工具类连接数据库在DAL层中,连接数据库的连接字符串在UI层中,两个层中,也能连接到数据库?

    因为项目初始化时会在UI层中的debug文件创建出关于DAL层中的类文件

    如果DataGridView中需要两张表(多张表)的数据怎么办?

    1.创建实体类,比如Subject,grade表

    2.查看DataGridView中的列那张表的数据多一些,比如DataGridView中有  年级ID、年级名称、科目ID、科目名称、时长  

    看出Subject中的数据比较多,所以创建一个扩展类SubjectExt,在SubjectExt实体类中创建Grade表中的属性,并且继承Subject实体类

    3.在DAL层创建查询方法。两表联查

    后面的方法与上面的方法一致

  • 相关阅读:
    Hadoop-2.4.1学习之Map任务源代码分析(下)
    微软面试题之两个链表的第一个公共结点
    再次轻度破解EXE文件
    源泉书签,助您管理海量收藏。www.yuanquanshuqian.com,今日更新:多标签功能已实现
    经验总结17--submitbutton,ajax提交
    python学习笔记(六)文件夹遍历,异常处理
    vue 数据传递的方法
    Vue 组件之间的数据传递
    Springboot文件下载
    springboot获取URL请求参数的几种方法
  • 原文地址:https://www.cnblogs.com/luoxionghenku/p/9217234.html
Copyright © 2011-2022 走看看