构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(4)-构建项目解决方案 创建EF DataBase Frist模式

简介: 原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(4)-构建项目解决方案 创建EF DataBase Frist模式 进行本次文章之前,我们可能需要补充一些基本知识。

原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(4)-构建项目解决方案 创建EF DataBase Frist模式

进行本次文章之前,我们可能需要补充一些基本知识。

首先我们系统是基于接口编程的,我们为什么要使用借口编程,其实这是应用了一种企业应用架构模式

Repository(仓储)

  一种用来封装存储,读取和查找行为的机制,它模拟了一个对象集合。

  支持在领域和数据映射层之间实现彻底分离和单向依赖关系的目标。

接口编程

  最主要的目的是使关注点分离,让开发人员各司其职

  代码封存保密,分包开发,无需要给予逻辑结构代码,只需要给予接口文件

  缺点:设计困难,比传统的三层,单类模式困难,但是接口程序员工资都很高!

AOP(面向方面编程)

  我们为了弥补面向对象缺陷,我们系统将引入面向方面编程

  主要用于日志记录,事务处理,异常处理等等。

概念这种东西过于模糊,我们必须经历过一个大系统才能认识这些概念模型。我无法用文章来下详细解析此系统的深层概念,需要大家在日常工作中实践和意会,推荐一本.net的设计书籍《Microsoft .NET企业级应用架构设计》这本书详细的讲述了接口编程,面向方面编程

通过上面我们需要构建项目的解决方案。

虽然MVC的controller层包含了逻辑,但是对于一个大系统,我们不可能把业务和数据库底层包含在一起,虽然提供了Models模型文件夹,在第二讲我把他删除了,我们将这一层Model层提取出来,任何层的设计都好,都是从三层设计模式衍生出来的,本系统也不例外。我们是基于接口编程的仓储模式,所以我们必须有BLL,IBLL,DAL,IDAL的对应类库。

好,现在我们右键我们的解决方案吧。分别建立

  • App.BLL (业务层)
  • App.IBLL (业务层接口)
  • App.DAL (数据层)
  • App.IDAL (数据层接口)
  • App.Models (模型)
  • App.Common(通用类库)
  • App.Core (核心类库)

图:

添加:EF5.0 VS2012旗舰版默认已经集成安装了EF5.0我们把他存放到App.Models类库下

右键----添加新建项

输入名称DB大家自己取名称,这里选择空模型,我们是模型优先模式,不是code frist模式要注意。对于系统来说我认为模型优先是有优势的

展开DB.edmx删除DB.Context.tt和DB.tt才能正确使用Model Frist模式,看到DB.edmx的属性窗口,将代码生成策略一项的无改为默认值

我们打开SQL Server如果你安装了VS2012我相信你的数据库也不老,我是SQL Server2008 R2版本

我们建立一个简单的事例表吧:

Create database DB 创建一个名称为DB的数据库

use DB

CREATE TABLE [dbo].[SysSample](
[Id] [varchar](50) NOT NULL,
[Name] [varchar](50) NULL,
[Age] [int] NULL,
[Bir] [datetime] NULL,
[Photo] [varchar](50) NULL,
[Note] [text] NULL,
[CreateTime] [datetime] NULL,
CONSTRAINT [PK__SysSampl__3214EC075AEE82B9] PRIMARY KEY CLUSTERED

好了有了数据库和表,我们往数据库添加模型映射,说到这里我简单说说我们用EF的原理,EF是一个ORM框架,ORM是通过描述对象和关系数据库之间的映射,将程序中的对象自动持久化到关系数据库中,简单易用、性能突出的泛型持久化支持,则将使您能够将更多注意力集中到业务开发,所以大家懂要懂得什么是事务,加入我们从数据库取出10条数据,我删除了1条,过一会在删除1条,只要我提交事务才到数据库执行删除,否则将是删除内存的数据库,所以数据库的压力小了,内存的压力大了。

新建连接-----选择Microsoft Sql server


相信你此时已经看到了效果了,我可能写得太详细了,文章有点乱。

如果你用过熟悉三层架构,那现在可以动手对项目之间的关系进行引用了。

下面给出一个引用流程:按照这个来进行引用,有了更清楚的让大家看出注入,我们目前这样引用

App.Admin-------------App.Models,App.Common,App.Core,App.IBLL,App.BLL,App.DAL,App.IDAL,System.Data.Entity

App.BLL-----------App.Models,App.IBLL,App.DAL,App.IDAL,System.Data.Entity

App.BLL--------------App.IBLL,System.Data.Entity

App.DAL--------------App.IDAL,System.Data.Entity

App.IDAL--------------System.Data.Entity

下一讲我们将利用接口编程我们实现一个增删改代码,一些糟糕的代码

目录
相关文章
|
前端开发 Java 测试技术
Java一分钟之Spring MVC:构建Web应用
【5月更文挑战第15天】Spring MVC是Spring框架的Web应用模块,基于MVC模式实现业务、数据和UI解耦。常见问题包括:配置DispatcherServlet、Controller映射错误、视图解析未设置、Model数据传递遗漏、异常处理未配置、依赖注入缺失和忽视单元测试。解决这些问题可提升代码质量和应用性能。注意配置`web.xml`、`@RequestMapping`、`ViewResolver`、`Model`、`@ExceptionHandler`、`@Autowired`,并编写测试用例。
488 3
|
设计模式 前端开发 数据库
深入理解MVC设计模式:构建高效Web应用程序的基石
【7月更文挑战第4天】在软件工程领域,设计模式是解决常见问题的一系列经过验证的方法。其中,Model-View-Controller(MVC)设计模式自诞生以来,便成为了构建用户界面,特别是Web应用程序的黄金标准。MVC通过将应用程序逻辑分离为三个核心组件,提高了代码的可维护性、可扩展性和重用性。本文将深入探讨MVC设计模式的原理,并通过一个简单的代码示例展示其应用。
508 0
|
设计模式 前端开发 Java
Spring MVC——项目创建和建立请求连接
MVC是一种软件架构设计模式,将应用分为模型、视图和控制器三部分。Spring MVC是基于MVC模式的Web框架,通过`@RequestMapping`等注解实现URL路由映射,支持GET和POST请求,并可传递参数。创建Spring MVC项目与Spring Boot类似,使用`@RestController`注解标记控制器类。
202 1
Spring MVC——项目创建和建立请求连接
|
存储 前端开发 数据可视化
在实际项目中,如何选择使用 Flux 架构或传统的 MVC 架构
在实际项目中选择使用Flux架构或传统MVC架构时,需考虑项目复杂度、团队熟悉度和性能需求。Flux适合大型、高并发应用,MVC则适用于中小型、逻辑简单的项目。
|
前端开发 Java 应用服务中间件
【Spring】Spring MVC的项目准备和连接建立
【Spring】Spring MVC的项目准备和连接建立
196 2
|
前端开发 安全 Java
技术进阶:使用Spring MVC构建适应未来的响应式Web应用
【9月更文挑战第2天】随着移动设备的普及,响应式设计至关重要。Spring MVC作为强大的Java Web框架,助力开发者创建适应多屏的应用。本文推荐使用Thymeleaf整合视图,通过简洁的HTML代码提高前端灵活性;采用`@ResponseBody`与`Callable`实现异步处理,优化应用响应速度;运用`@ControllerAdvice`统一异常管理,保持代码整洁;借助Jackson简化JSON处理;利用Spring Security增强安全性;并强调测试的重要性。遵循这些实践,将大幅提升开发效率和应用质量。
221 7
|
前端开发 Java 测试技术
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
|
前端开发 JavaScript 开发者
深入理解MVC和MVVM:构建现代Web应用的利器
深入理解MVC和MVVM:构建现代Web应用的利器
|
XML 前端开发 应用服务中间件
Cannot resolve MVC View解决方案
Cannot resolve MVC View解决方案
492 0
Cannot resolve MVC View解决方案
|
存储 开发框架 前端开发
MVVM 模式与 MVC 模式:构建高效应用的选择
MVVM 模式与 MVC 模式:构建高效应用的选择
MVVM 模式与 MVC 模式:构建高效应用的选择