准备:先引入MVC和EF的dll包

*命令方法:打开工具——库程序包管理器——程序包管理器控制台,选择自己的项目

a)     Install-Package EntityFramework -Version 6.1.1

b)     Install-Package Microsoft.AspNet.Mvc -Version 5.2.2

一、Code First

模式是以代码先行,将Model层写好后反射数据库的方法,这里的数据库需要自己新建,并与model层的字段名完全对应。

实现的方法如下:

1.先新建一个实体类,取名Test(与数据库表名一致),添加字段

   public class Test
{
public int Id { get; set; }
public string Name { get; set; }
}

2.建立一个Context类,取名TestContext,调用DbSet来反射数据库的内容

public DbSet<Test> Test { get; set; }

3.在controller层实现对model层数据的调用

    private TestContext db = new TestContext();
public ActionResult Index()
{
var data = db.Test.ToList();
return View(data);
}

4.在View层中调用@Model.Id和@Model.Name。

5.在配置文件里添加数据库连接

 <connectionStrings>
<add name="TestContext" connectionString="Data Source=.\SQLEXPRESS; user id=sa;password=sa;Initial Catalog=test1;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

6.在数据库中建立一个Test表,加入Id和Name字段,即可运行测试。

二、Model First

模式是以数据库为基准来编写代码,这里需要先新建一个实体数据模型,根据这个模型将会自动生成数据库文件

1.新建数据模型,命名为model1,选择空模型

2.在自己建好的Model1.edmx文件页面中右键,新增,实体,填写实体信息。实体名称对应表名,创建键属性对应表的主键。

创建好后右键点击标量属性在实体模型中添加字段。

3.在自己的表上点击“根据模型生成数据库”

打开数据库即可看到自己刚刚所建的字段信息。调用数据库的方法百度。

利弊:

ModelFirst比较方便,但每次生成时会重新创建数据库,所以如果之前数据库中有数据的话会被清空。

DEMO源码下载   

MVC和EF中的 Model First 和 Code First的更多相关文章

  1. 1、MVC和EF中的 Model First 和 Code First

    准备:先引入MVC和EF的dll包 *命令方法:打开工具——库程序包管理器——程序包管理器控制台,选择自己的项目 a)     Install-Package EntityFramework -Ver ...

  2. 如何在ASP.NET MVC和EF中使用AngularJS

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) AngularJS作为一个越来越流行的前端框架,在使用ASP.NET MVC和实体框架开发W ...

  3. 1.【使用EF Code-First方式和Fluent API来探讨EF中的关系】

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/relationship-in-entity-framework-using-code-firs ...

  4. 2.EF中 Code-First 方式的数据库迁移

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/code-first-migrations-with-entity-framework/ 系列目 ...

  5. EF中 Code-First 方式的数据库迁移

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/code-first-migrations-with-entity-framework/ 系列目 ...

  6. ASP.NET MVC和EF集成AngularJS开发

    参考资料: 如何在ASP.NET MVC和EF中使用AngularJS AngularJS+ASP.NET MVC+SignalR实现消息推送 [AngularJs + ASP.NET MVC]使用A ...

  7. easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)

    easyui datagrid 禁止选中行   没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...

  8. ASP.NET MVC中默认Model Binder绑定Action参数为List、Dictionary等集合的实例

    在实际的ASP.NET mvc项目开发中,有时会遇到一个参数是一个List.Dictionary等集合类型的情况,默认的情况ASP.NET MVC框架是怎么为我们绑定ASP.NET MVC的Actio ...

  9. ASP.NET MVC中对Model进行分步验证的解决方法

    原文:ASP.NET MVC中对Model进行分步验证的解决方法 在我之前的文章:ASP.NET MVC2.0结合WF4.0实现用户多步注册流程中将一个用户的注册分成了四步,而这四个步骤都是在完善一个 ...

随机推荐

  1. Apple 的命令行交付工具“Transporter”

    Apple 的命令行交付工具“Transporter” 占坑... https://help.apple.com/itc/transporteruserguide/#/apdATD1E1026-D1E ...

  2. 适配移动端的在图片上生成水波纹demo

      <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&q ...

  3. [转]手把手教你搭建Hive Web环境

    了解Hive的都知道Hive有三种使用方式——CLI命令行,HWI(hie web interface)浏览器 以及 Thrift客户端连接方式. 为了体验下HWI模式,特意查询了多方的资料,都没有一 ...

  4. [转]总结一下CSS中的定位 Position 属性

    在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absol ...

  5. git删除本地分支和删除远程分支

    引言: 切换分支的时候命令打错了,git checkout 后面没有跟分支名,结果git status,很多delete的文件,直接冒冷汗,git add ,commit 之后发现本地与远程确实是删除 ...

  6. # PHP学习笔记之一

    PHP学习笔记之一 标签(空格分隔): PHP 资料来源:慕课网PHP入门篇.PHP学习手册 一.变量 变量定义 $变量名 = 变量值; $var = "xxx"; 变量类型查看 ...

  7. linux信号的介绍

    1.基本概念    中断:        中断是系统对于异步事件的响应        中断信号        中断源        现场信息        中断处理程序        中断向量表   ...

  8. flex 的总结

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. linux安装coreseek

    coreseek就是一个中文词库加上sphinx组合而成的. 1.下载coreseek 下载到/usr/local/src目录文件下 wget  http://www.coreseek.cn/uplo ...

  10. Spring Boot CRUD+分页(基于Mybatis注解方式)

    步骤一:关于Mybatis Mybatis 是用来进行数据库操作的框架.其中分页使用Mybatis中的PageHelper插件. Mybatis与hibernate对比: 1.hibernate是一个 ...