自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

转载 Java中对集合排序的实现演变:从Comparable、Comparator到lambda,从啰嗦到简洁

今年初学Java,是个新人。若文中有错误纰漏,希望能指出,见谅。目标:对 User 对象集合进行排序,要求使用简单并且代码可读性强。User 类定义如下:public class User { /** * id */ private String id; /** * 姓名 */...

2016-09-21 17:02:00 133

转载 七色花基本权限系统(14)- 实现EntityFramework和Dapper的混搭

Dapper是什么 Dapper是一款轻量级的微ORM,其核心是实现了“将查询结果映射到指定数据模型”,因此可以抛开DataSet、DataTable等数据集对象,以强类型的方式使用查询数据结果。Dapper是开源的,它的GitHub地址在这里:https://github.com/StackExchange/dapper-dot-net,本章节中选择1.4.0版本的Dapper下的.N...

2016-07-13 19:47:00 183

转载 七色花基本权限系统(13)- 业务层的设计和实现

解耦WebUI层与EntityFramework 在还未实现实体仓储时,登录功能是在控制器中直接初始化EF数据库上下文来实现的,这样也导致WebUI层必须引用EntityFramework。在完成数据层的设计和实现之后,控制器中不再直接使用EF数据库上下文对象,而是通过工作单元去调用实体仓储,其实到了这一步就可以让WebUI层不再依赖EntityFramework。从WebUI层中通过n...

2016-07-01 14:39:00 124

转载 七色花基本权限系统(12)- 优化EntityFramework的配置

EF性能渣?这个锅EF不背 作为ORM,必然有性能上的损失,这是取舍问题。但“舍”的性能损失,大到可以用渣形容吗? 微软在设计EF的时候同时考虑了CS和BS,导致部分配置适合A却不适合B,而可能为了让开发者(无论CS系统开发者还是BS系统开发者)体验到这些配置,默认都是开启的。这直接成为部分开发者认为EF性能很渣的重要原因之一。 这篇日志将粗略介绍几个主要配置的作用和适用场景。 最常...

2016-06-30 11:00:00 2406

转载 七色花基本权限系统(11)- 仓储和工作单元的结合

为什么要有工作单元 在EF中,对实体集合的添加、更新和删除操作都只是内存级别的处理,需要通过db.SaveChanges()来执行数据库更新。这样就可以在SaveChanges之前对不同实体集合进行不同的操作,最后一次性提交到数据库,以保证事务的嵌套(SaveChanges时会自动嵌套事务)。举例来说,EF中可以这样操作db: 1 var db1 = new MasterEntity...

2016-06-23 10:42:00 120

转载 七色花基本权限系统(10)- 数据接口的实现

为什么要设计数据接口 首先来看一下3层的主要逻辑:数据层 => 业务层 => 应用层。作为通用的项目模板,其中最可能按需而大变的就是数据层,因为不同的项目,使用的数据库、数据驱动技术,是很有可能不同的。项目A,MsSql+EF(就像我正在演示的),项目B,也用这套模板,但变成了MySql+ADO.NET,那么就要尽可能地维持项目的整洁,减少需要修改的代码的量和范围。最佳的做法...

2016-06-16 17:41:00 77

转载 七色花基本权限系统(9)- 中途整理和完善

不多说,完善一下。 完善数据核心层 在数据实体层(SF.Framework.Entity)中,我们以一级文件夹区分了不同数据库的数据实体,如下图: 也是因此,在数据核心层(SF.Framework.DataCore)中定义EF数据上下文(MasterEntityContext)时,特地以Master作为类前缀来进行区分,实体配置工厂(MasterConfigurationFacto...

2016-06-16 14:00:00 103

转载 七色花基本权限系统(8)- 实现实体层和核心层解耦

经过前面的工作,系统正变得越来越清晰。 现在有一个问题需要解决。当需要额外增加一个数据表时,我们需要做的操作是: 在实体层创建实体并编译实体层 在核心层运行T4 配置实体 将实体对象关联给EF数据库上下文(定义DbSet) 将实体配置注册给EF配置对象 这过于繁琐,最后2个步骤,强行地把实体关联在EF数据库上下文里,导致了两者的耦合。这篇日志将演示如何将最后2个步骤省略,解放EF数据库...

2016-06-08 17:33:00 140

转载 七色花权限管理系统(7)- 实现数据仓储和利用T4自动生成实体仓储

基于EntityFramework的数据访问层,我计划细分成数据核心、数据接口和数据实现。 其中数据核心已经在前几个章节中创建,那么在这篇日志里,将演示数据仓储(接口和实现)的实现及封装架构的整个过程。 仓储的作用 仓储的概念请自行搜索了解,我认为它最大的作用就是解耦。没有仓储,就只能直接使用EF数据库上下文对象来操作数据库,而为了“能使用EF数据库上下文对象来操作数据库(各实体库)...

2016-06-08 10:19:00 149

转载 七色花基本权限系统(6)- 让EntityFramework Code First自动合并/迁移/数据初始化

在前一章节里,我们已经能够对映射字段进行配置了。但在演示中,我们通过删除原数据库让EF重新创建的方式,才把新的字段信息更新(其实是破而后立)到了数据库。这显然无法让人接受。在这篇日志里,将演示“在实体类发生改变时如何自动更新数据库中的表结构”和“在EF创建数据库的时候如何初始化一批数据”。 合并/迁移 合并是指“新的实体模型映射到数据库中,更新其结构”,例如: 新增了实体类,那在数...

2016-06-06 17:39:00 83

转载 七色花基本权限系统(5)- 实体配置的使用和利用T4自动生成实体配置

在前面的章节里,用户表的结构非常简单,没有控制如何映射到数据库。通常,需要对字段的长度、是否可为空甚至特定数据类型进行设置,因为EntityFramework的默认映射规则相对而言比较简单和通用。在这篇日志里,将演示如何对数据实体进行映射配置,并利用T4模板自动创建映射配置类文件。 配置方式 EntityFramework的实体映射配置有2种。 第一种是直接在实体类中以特性的方式进行...

2016-06-05 18:02:00 113

转载 七色花基本权限系统(4) - 初步使用EntityFramework实现用户登录

这篇日志将演示: 1、利用EF的Code First模式,自动创建数据库 2、实现简单的用户登录(不考虑安全仅仅是密码验证) 为什么选择EntityFramework 第一,开发常规中小型系统,能够提高开发效率。 针对小型系统,ORM提高开发效率那是立竿见影。而且linq+lambda的用户体验非常棒,让代码可读性大大增强。即使把linq写得很烂,小系统也无所谓。 针对中型系统,在...

2016-06-04 00:40:00 63

转载 七色花基本权限系统(3)- 利用EasyUI进行首页布局

EasyUI EasyUI是基于JQuery库的偏js轻型前端UI框架,不了解的读者可以参考官网地址。 在项目中增加JQuery和EasyUI,并在布局页中引用。为了结构清晰,方便日后维护和升级,可以在Scripts下创建jquery文件夹和jquery-easyui文件夹。这里选择1.11.0的JQuery和1.4.3的EasyUI。 特别说明一下,我已经修复了该版本的几个(只能通过...

2016-06-02 23:24:00 135

转载 七色花基本权限系统(2)- MVC项目搭建及初步调整

新建ASP.NET MVC项目,解决方案名称Seven,MVC项目名称S.Framework.WebClient。如下图: 创建MVC项时会让你选择身份验证方式,选择无吧,咱要空白干净的MVC项目。是否勾选单元测试随自己喜欢就好。 现在把MVC项目中我们不需要用到的部分移除掉,比如自带的bootstrap、jquery、jquery Validation等,可通过nuget工具来移除。...

2016-06-02 19:34:00 86

转载 七色花基本权限系统(1):前言和目录(各章节源码已提供下载)

技能需沉淀,文字组织能力需提升。决定写这套日志,回忆、优化、记录和分享。 七色花,当年毕设的名称,算是对梦想的追逐吧。 情怀内容结束,正式开始。 系统定位和目标: 这套系统的定位是应用型管理系统模板。 功能层面来说,其主要目标是实现权限的灵活控制和通用功能的实现; 代码层面来说,其主要目标是以下几点: 1、基于EntityFramework的数据层封装设计和实现 ...

2016-06-02 15:28:00 480

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除