DAL层的三个Model类:

字典表:CFDict

用户表:CFUser

用户爱好表:CFUserHobby(关联cfuser表和cfdict表)

CFUser表和CFUserHobby表是一对多关系,一个用户有多个爱好,CFDict表和CFUserHobby表是一对多关系,某一个爱好可能很多人都有

public class CFDict
{
//标识列
public int Id { get; set; }

//名称
public string Name { get; set; }

//父ID
public int ParentId { get; set; }

//所在层,从0开始
public int Level { get; set; }

//所属分类
public string Category { get; set; }

//排序号
public int? OrderNum { get; set; }

public virtual ICollection<CFUserHobby> CFUserHobbys { get; set; }
}

public class CFUser
{
public int Id { get; set; }

//用户名
[StringLength(50)]
public string UserName { get; set; }

//密码
[StringLength(50)]
public string UserPwd { get; set; }

//邮箱
[StringLength(50)]
public string UserMail { get; set; }

//全名
[StringLength(50)]
public string FullName { get; set; }

//性别
public int? Sex { get; set; }

//出生日期
public DateTime? BirthDay { get; set; }

//城市code
public int? CityCode { get; set; }

//爱好code
public int? HobbyCode { get; set; }

//博客网站
public int? BlogCode { get; set; }

//博客名称
public string BlogName { get; set; }

//注册日期
public DateTime SignDate { get; set; }

public virtual ICollection<CFUserHobby> CFUserHobbys { get; set; }
}

public class CFUserHobby
{
//标识列
public int Id { get; set; }

//用户ID
public int CFUserId { get; set; }

//爱好ID
public int CFDictId { get; set; }

public virtual CFUser CFUser { get; set; }

public virtual CFDict CFDict { get; set; }
}

public class CFContext : DbContext
{
public CFContext()
: base("CFContext")
{
}

public DbSet<CFUser> CFUsers { get; set; }

public DbSet<CFDict> CFDicts { get; set; }

public DbSet<CFUserHobby> CFUserHobbys { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

base.OnModelCreating(modelBuilder);
}
}

可以看到生成的外键:

源代码下载QQ群:389496325

MVC5+EF6+AutoMapper+Bootstrap打造在线博客(1.1)的更多相关文章

  1. MVC5+EF6+AutoMapper+Bootstrap打造在线博客(1.0)

    目的:MVC5+EF6开发一个高并发.分布式的在线博客,等开发完成以后再用.net core,mysql重新开发,部署到linux系统上,这一系列就算完结,经验不足,大家一起讨论进步,源代码下载QQ群 ...

  2. go语言打造个人博客系统(二)

    go语言打造个人博客系统(二)   在上篇文章go语言打造个人博客系统(一)中,我们了解了go语言的优点和go语言的数据库操作,本次我们会完成博客系统的后端开发. 博客系统后端接口开发 路由测试 ht ...

  3. go语言打造个人博客系统(一)

    go语言打造个人博客系统(一) 为什么选择go语言?   听说go语言是在几年前,但真正深入了解他却是在2017年,因为当时作为讲师 ,需要准备go语言的课程,结果稍一接触立刻就喜欢上这门语言了,作为 ...

  4. Bootstrap学习笔记博客

    本片博客用于记录之后要用到Bootstrap的学习笔记   概括: Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASC ...

  5. 在线博客转PDF电子书 | JS爬虫初探

    最近在看一位大佬写的源码解析博客,平时上下班用手机看不太得劲,但是平板又没有网卡,所以就想搞个离线pdf版,方便通勤时间学习阅读. 所以,问题来了: 怎么把在线网页内容转成pdf? 这位大佬的博客是用 ...

  6. github page 和 hexo 搭建在线博客

    目录: 安装node.js与git 常用git命令 安装hexo 配置hexo hexo发布到github 1.安装node.js和git工具 https://nodejs.org/en/ 直接下载安 ...

  7. Jquery+bootstrap实现静态博客主题

    来源:个人博客     body部分:   side部分:     文章页面: 下载链接:             Fork Git: https://github.com/dwqs/theme1   ...

  8. 打造自己博客(wordpress)的wap手机版本

    这儿介绍我试用的两款插件:wordpress-mobile-edition和wp-t-wap.1.先说一下两者的区别. wordpress-mobile-edition插件使用后,可以用手机直接访问你 ...

  9. Hexo + github 打造个人博客

    前两年开始用 wordpress 搭了一个网站,但服务器是在 Linode 上,之所以要放在 Linode 上,要从买的域名说起,因为我买的域名是 fengzheng.pub ,.pub 是不允许备案 ...

随机推荐

  1. Android调用微信登陆、分享、支付

    前言:用了微信sdk各种痛苦,感觉比qq sdk调用麻烦多了,回调过于麻烦,还必须要在指定包名下的actvity进行回调,所以我在这里写一篇博客,有这个需求的朋友可以借鉴一下,以后自己别的项目有用到也 ...

  2. AI人工智能系列随笔

    初探 AI人工智能系列随笔:syntaxnet 初探(1)

  3. 编写高质量代码:改善Java程序的151个建议(第8章:异常___建议114~117)

    建议114:不要在构造函数中抛出异常 Java异常的机制有三种: Error类及其子类表示的是错误,它是不需要程序员处理也不能处理的异常,比如VirtualMachineError虚拟机错误,Thre ...

  4. 走进缓存的世界(三) - Memcache

    系列文章 走进缓存的世界(一) - 开篇 走进缓存的世界(二) - 缓存设计 走进缓存的世界(三) - Memcache 简介 Memcache是一个高性能的分布式内存对象缓存系统,用于动态Web应用 ...

  5. TYPESDK手游聚合SDK服务端设计思路与架构之二:服务端设计

    在前一篇文中,我们对一个聚合SDK服务端所需要实现的功能作了简单的分析.通过两个主要场景的功能流程图,我们可以看到,作为多款游戏要适配多个渠道的统一请求转发中心,TYPESDK服务端主要需要实现的功能 ...

  6. Jqprint实现页面打印

    好些项目需要实现页面打印,特别是一些后台管理类系统,下面介绍一款轻量级的打印插件: 1.实现页面打印要引入jQuery和Jqprint.点击下载Jqprint插件 <script languag ...

  7. centos7 安装时候检测不到空余硬盘的解决办法

    我是用U盘装的centos,在进行硬盘规划时,看到硬盘的可用空间太少 这是因为我的硬盘以前装的是windows系统,硬盘几乎都已经被windows 操作系统给使用了,剩余空间也只会是windows用剩 ...

  8. Spring mvc @initBinder 类型转化器的使用

    一.单日期格式 因为是用注解完完成的后台访问,所以必须在大配置中配置包扫描器: 1.applicactionContext.xml <?xml version="1.0" e ...

  9. Linux服务器安全配置

    众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节.Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操作系统,一旦Linux系统中发现有安全漏洞,Int ...

  10. 我的MYSQL学习心得(十二) 触发器

    我的MYSQL学习心得(十二) 触发器 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数 ...