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层创建查询方法。两表联查

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

C#三层架构的更多相关文章

  1. asp.net三层架构 及其中使用泛型获取实体数据介绍

    asp.net中使用泛型获取实体数据可以发挥更高的效率,代码简洁方便,本例采用三层架构.首先在model层中定义StuInfo实体,然后在 DAL层的SQLHelper数据操作类中定义list< ...

  2. 关于三层架构与MVC的一些理解

    刚毕业的时候,参与了一个上位机的系统开发.上位机所使用的是.net Windows Form技术. 当时,和一个北理的姑娘在一个项目组里.因为她来公司时间比较长,而且经验比较丰富,所以,上位机的架构由 ...

  3. 架构和模式的区别:三层架构和MVC在应用开发中的位置

    架构是系统层面的,可以是多层架构,也可以是事件驱动架构,也可以是微服务架构. 模式是GUI应用的一种职责分离设计. 三层架构(包含多层架构)和 MVC模式(包含MVP, MVVM) 没什么关系,它们不 ...

  4. 从零开始编写自己的C#框架(5)——三层架构介绍

    三层架构对于开发人员来说,已经是司空见惯了,除了大型与超小型项目外,大多都是这种架构来进行开发. 在这里为初学者们简单介绍一下三层架构: (下面内容摘自<趣味理解:三层架构与养猪—<.NE ...

  5. 【转】浅谈MVC与三层架构

    首先给大家引入下MVC的概念: MVC(Model View Controller)模型.视图以及控制器,它是一种较为广泛应用的结构设计模式. 模型:就是在MVC设计模式中需要被显示的数据.在通常情况 ...

  6. 有了门面,程序会更加体面!- pos软件基于三层架构 -09

    续上篇)        大鸟说道:“实际上没有学过设计模式去理解三层架构会有失偏颇的,毕竟分层是更高一级别的模式,所谓的架构模式.不过在程序中,有意识的遵循设计原则,却也可以有效的做出好的设计.”   ...

  7. 三层架构 与 MVC那点事儿

    以下为转载内容: 地址 MVC与三层架构的异同点 首先先解释一下MVC. V即View.是视图的意思. C即Controler.是控制器的意思. M即Model,是模型的意思. 这三个里.最不容易理解 ...

  8. JDBC三层架构

    三层框架: 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了“高内聚,低耦合”的思想. 原理:1:数据访问层:主要是对原始 ...

  9. 浅析MVC模式与三层架构的区别01

    三层架构和MVC是有明显区别的,MVC应该是展现模式(三个加起来以后才是三层架构中的UI层)三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI ...

  10. 利用Dapper ORM搭建三层架构

    利用Dapper关系对象映射器写的简单的三层架构.Dapper:StackOverFlow在使用的一个微型的ORM,框架整体效率较高,轻量级的ORM框架.网上有较多的扩展.此处只是简单的调用Dappe ...

随机推荐

  1. python学习之旅(二)

    Python基础知识(1) 一.变量 变量名可以由字母.数字.下划线任意组合而成. 注意:1.变量名不能以数字开头: 2.变量名不能为关键字: 3.变量名尽量起有意义的,能够通过变量名知道代表的是什么 ...

  2. 《Maven实战》文字版[PDF]

    从亚马逊买的电子书,导出来的,需要的下吧. 下面是截图: 除了代码部分有一点点不清楚之外,其他还是蛮清楚的. 下载地址: http://download.csdn.net/download/apple ...

  3. react中进入某个详情页URL路劲参数Id获取问题

    <Route path={`${match.url}/detail/:id`} component={AppManageAddDetail} /> const { match:{param ...

  4. day5_非空即真非零即真

    非空即真(字符串.元组.列表.字典.None),非零即真(指的是int类型或数字这种) # d={}# l=[]# t=()# a = ''# b = None以上都代表空 举例1: name = i ...

  5. JDBC事务(一)

    package cn.sasa.tran01; import java.sql.Connection; import java.sql.DriverManager; import java.sql.P ...

  6. pycharm的简介

    pycharm使用 集成开发环境(IDE,Integrated Development Environment ) VIM #经典的linux下的文本编辑器 Emacs #linux 文本编辑器, 比 ...

  7. Cocos Creator cc.Node.点击事件

    触摸事件 1.触摸事件的类型:START触摸启动,MOVED移动,ENDED弹起来,CANCEL取消; ENDED和CANCEL区别是ENDED物体内弹起来,CANCEL是在物体外范围弹起. 2.监听 ...

  8. OAuth2认证和授权:ClientCredentials认证

    1:创建授权服务器项目:AuthorizationServer,添加包:IdentityServer4 2:创建资源服务器项目:ResourcesServer,添加包:IdentityServer4. ...

  9. windows10系统下安装pygame

    1.安装python,选择版本3.7.1 下载地址:https://www.python.org/downloads/windows/选择安装版本 2.安装pip 下载地址:https://pypi. ...

  10. Tomcat日志文件catalina.out文件过大问题

    随着项目的运行,Tomcat的日志文件catalina.out的大小日益增大,现在都有好几个GB了.如果我们不做任何处理,catalina.out的文件大小将会持续增加,直到把我们的系统硬盘空间给撑爆 ...