前言
文章开始,我说过我要用我自学的技术,来搭建一个博客系统,也希望大家给点意见,另外我很感谢博客园的各位朋友们,对我那篇算是自我阶段总结文章的评论,在里面能看出有很多种声音,有支持的我的朋友给我加油打气,有分享自己工作经历的朋友,有提出忠肯意见的朋友,有对记事本写代码吐槽的朋友,也有希望让我换个行业的,觉得我可能不适合这个行业朋友,不管怎样,我都接受,都是大家同行的一些忠告,谢谢大家。
首先我要在这里感谢很多博客园里面的大牛,写了很多系列,很多学习资料,让我受益很多,有机会找个时间,我会把我浏览器中收藏的资源都整理出来,分享给大家,其实我会的这些都是自己在博客园看到的文章、在某宝买的视频、QQ群里看群主的分享公开课学的,希望大家多提宝贵意见。
一、框架搭建
首先创建几个文件夹:
01Data用来放链接数据的EF以及创建表的类;
02Core存放数据仓储一些跟数据库链接实现数据操作的部分:
03Services 用于存放业务逻辑处理;
04Common用于放公共应用的工具之类;
05UI mvc页面展示的就放在这里 以及web相关的核心代码
其中除了Wchl.CRM.WebUI创建的是MVC5应用程序,其他的都是创建类库
二、创建数据库
1.创建一个空的EF code frist环境,输入的名字为WMBlogDB
2、选择空的Code Frist模型
3、创建一个models文件存放所有表的类,这里先创建一个用户信息表的类sysUserInfo
sysUserInfo类:
1 namespace Wchl.WMBlog.Model.Models 2 { 3 public class sysUserInfo 4 { 5 /// <summary> 6 /// 用户ID 7 /// </summary> 8 public int uID { get; set; } 9 /// <summary> 10 /// 登录账号 11 /// </summary> 12 public string uLoginName { get; set; } 13 /// <summary> 14 /// 登录密码 15 /// </summary> 16 public string uLoginPWD { get; set; } 17 /// <summary> 18 /// 真实姓名 19 /// </summary> 20 public string uRealName { get; set; } 21 /// <summary> 22 /// 状态 23 /// </summary> 24 public int uStatus { get; set; } 25 /// <summary> 26 /// 备注 27 /// </summary> 28 public string uRemark { get; set; } 29 /// <summary> 30 /// 创建时间 31 /// </summary> 32 public System.DateTime uCreateTime { get; set; } 33 /// <summary> 34 /// 更新时间 35 /// </summary> 36 public System.DateTime uUpdateTime { get; set; } 37 } 38 }
4、创建一个maps文件夹,主要是用来放对表字段进行约束的类sysUserInfoMap
sysUserInfoMap类:
1 namespace Wchl.WMBlog.Model.Maps 2 { 3 public class sysUserInfoMap:EntityTypeConfiguration<sysUserInfo> 4 { 5 public sysUserInfoMap() 6 { 7 this.HasKey(u => u.uID); 8 this.Property(u => u.uLoginName).HasMaxLength(60); 9 this.Property(u => u.uLoginPWD).HasMaxLength(60); 10 this.Property(u => u.uRealName).HasMaxLength(60); 11 } 12 } 13 }
关于EntityTypeConfiguration类的用法,大家可以去看看博客园里面一些介绍文章,HasKey设置主键,HasMaxLength字段最大长度。
5、在控制台中创建数据库脚本 Enable-Migrations
6、修改Configuration类配置
7、在WMBlogDB类中重写OnModelCreating方法
重写OnModelCreating方法: