从零开始,搭建博客系统MVC5+EF6搭建框架(1),EF Code frist、实现泛型数据仓储以及业务逻辑

本文介绍了作者如何从零开始,使用MVC5和EF6构建博客系统。首先,创建了Data、Core、Services、Common和UI等文件夹,分别对应数据层、业务逻辑层和视图层。接着,通过EF Code First创建数据库,定义了sysUserInfo表及其映射类。然后,实现了泛型数据仓储接口IBaseRepository和BaseRepository,以及业务逻辑层的IBaseServices和BaseServices。最后,预告下篇将展示UI层如何调用这些功能。
摘要由CSDN通过智能技术生成

前言

     文章开始,我说过我要用我自学的技术,来搭建一个博客系统,也希望大家给点意见,另外我很感谢博客园的各位朋友们,对我那篇算是自我阶段总结文章的评论,在里面能看出有很多种声音,有支持的我的朋友给我加油打气,有分享自己工作经历的朋友,有提出忠肯意见的朋友,有对记事本写代码吐槽的朋友,也有希望让我换个行业的,觉得我可能不适合这个行业朋友,不管怎样,我都接受,都是大家同行的一些忠告,谢谢大家。

     首先我要在这里感谢很多博客园里面的大牛,写了很多系列,很多学习资料,让我受益很多,有机会找个时间,我会把我浏览器中收藏的资源都整理出来,分享给大家,其实我会的这些都是自己在博客园看到的文章、在某宝买的视频、QQ群里看群主的分享公开课学的,希望大家多提宝贵意见。

一、框架搭建

image

首先创建几个文件夹:

01Data用来放链接数据的EF以及创建表的类;

02Core存放数据仓储一些跟数据库链接实现数据操作的部分:

03Services 用于存放业务逻辑处理;

04Common用于放公共应用的工具之类;

05UI mvc页面展示的就放在这里 以及web相关的核心代码

 

其中除了Wchl.CRM.WebUI创建的是MVC5应用程序,其他的都是创建类库

二、创建数据库

1.创建一个空的EF code frist环境,输入的名字为WMBlogDB

image

2、选择空的Code Frist模型

image

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 }
View Code

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 }
View Code

关于EntityTypeConfiguration类的用法,大家可以去看看博客园里面一些介绍文章,HasKey设置主键,HasMaxLength字段最大长度。

5、在控制台中创建数据库脚本 Enable-Migrations

image

6、修改Configuration类配置

image

7、在WMBlogDB类中重写OnModelCreating方法

image

重写OnModelCreating方法:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值