当前位置: 首页 > news >正文

Asp.Net MVC 系列--基础篇(2)

 

1.      建立一个library 命名为eStudentDomain


2.      右键reference文件夹,打开nuget, 安装entity framework


3.      添加三个文件夹:

Contact : 主要放与下层通信的接口

Domain Model:主要放逻辑实体

Entity : 仅用于数据表对应的实体


相关代码:

public interface IStudentContext
    {
       IQueryable<Student> StudentList { get; }
       IQueryable<StudentClass> StudentClasseList { get; }
    }
 
public class eStudentDbContext :DbContext,IStudentContext
    {
       public eStudentDbContext()
           : base("DefaultConnection")
       {
           
       }
 
       /// <summary>
       /// Remember Here MUST be property!!!
       /// </summary>
       public DbSet<Student> Students { get; set; }
       public DbSet<StudentClass> StudentClasses { get; set; }
 
       public IQueryable<Student> StudentList { get { return Students; }}
       public IQueryable<StudentClass> StudentClasseList { get { returnStudentClasses; } }
    }
 
 
 public class Student
    {
       public int Id { get; set; }
       public string Name { get; set; }
       public int ClassId { get; set; }
       public DateTime JoinDate { get; set; }
       public DateTime GraduateDate { get; set; }
 
    }
 
public class StudentClass
    {
       public int Id { get; set; }
       public string Name { get; set; }
public List<Student> Students { get;set; }
}                                             


 

接下来,打开migration 。

在此之前,做以下验证:

1.      DbContext类的构造函数,传递了连接字符串:


2.      Config文件里,连接字符串名称和DbContext配置的一致:


 

Domain项目的链接字符串可以不设在App.Config中,和Web Application 共用一个,配置在Web.Config里

 

然后,打开package managerconsole(就在output旁边) :


会发现,执行完毕自动生成了Migrations文件夹和Configuration.cs 文件,

 

打开这个配置文件,记得 Set Automatic MigrationsEnable 为 true (默认为false),可以在seed里面写一些初始化数据库的代码,每次同步数据库都会执行seed。示例,我添加了三个班级。

 

                                                                          

最后,同步entity 实体和Seed中的逻辑,到数据库

 

到db看一看:


我们添加的三个班级:

 

 

好了,本节主要完成:安装entity framework 包,打开数据同步,完成同步启动执行逻辑,完成Domain层的逻辑实体,以及把相应的entity结构同步到db。

下一节,我们介绍如何用做好的domain和同步好的db完成MVC应用。


相关文章:

  • Asp.Net MVC系列--基础篇(3)
  • [Windows 编程] 如何截获 Alt+Tab 事件
  • 下午调试的几个关于weblogic连接池的问题
  • Asp.Net Set Http Timeout
  • 现实与理想(中国台湾清华大学教授彭明辉)
  • c# 用反射获得静态类成员
  • Sql Server Table 中identity 重置...
  • Asp.Net 中使用HttpModule 做Session验证
  • Asp.Net MVC4系列---基础篇(4)
  • IE8 正式版官方下载链接
  • IE8 视频
  • [Web开发] 快速修复网页在IE8 下的显示兼容问题
  • 用手机连pc localhost 学习,调试网站
  • [Web开发] Web开发者必读:《IE8 开发技术概述》
  • Web Server IIS Asp.Net Http Module 不工作
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • canvas绘制圆角头像
  • MaxCompute访问TableStore(OTS) 数据
  • mongodb--安装和初步使用教程
  • Mysql5.6主从复制
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • Python打包系统简单入门
  • React-flux杂记
  • Ruby 2.x 源代码分析:扩展 概述
  • SpringBoot 实战 (三) | 配置文件详解
  • web标准化(下)
  • windows下mongoDB的环境配置
  • 程序员该如何有效的找工作?
  • 关于使用markdown的方法(引自CSDN教程)
  • 诡异!React stopPropagation失灵
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 那些年我们用过的显示性能指标
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 怎样选择前端框架
  • 7行Python代码的人脸识别
  • 大数据全解:定义、价值及挑战
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (二)构建dubbo分布式平台-平台功能导图
  • (二十四)Flask之flask-session组件
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (南京观海微电子)——COF介绍
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (未解决)macOS matplotlib 中文是方框
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转载)Google Chrome调试JS
  • (转载)Linux网络编程入门