准备:先引入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比较方便,但每次生成时会重新创建数据库,所以如果之前数据库中有数据的话会被清空。

代码参见:链接:http://pan.baidu.com/s/1i5dHDYl密码:nzj3

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

  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. C# WebForm内置对象2+Repeater的Command

    内置对象:用于页面之间的数据交互 为什么要使用这么内置对象?因为HTTP的无状态性. Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及 ...

  2. Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0

    下载jar,导入到maven中cmd中输入:mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=1 ...

  3. java selenium (十) 操作浏览器

    本篇文章介绍selenium 操作浏览器 阅读目录 浏览器最大化 前进,后退, 刷新 public static void testBrowser(WebDriver driver) throws E ...

  4. 怎么把Windows主机上的目录共享到Ubuntu上

    使用Oracle VM VirtualBox在Windows主机上创建了一台Ubuntu虚拟机,怎么把宿主机上的目录共享到Ubuntu上,可使用以下方法: eg.把Windows主机上D盘里的test ...

  5. RMAN 参数详解

    使用RMAN>show all;可以显示出RMAN 配置参数为: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # defaultCONFIGURE B ...

  6. 【思路】-jscode

    jscode             //1.0 思路             //VH.PutSet(TagFields.PageName, PageName.Index);             ...

  7. 金山软件wps2012-2013通杀0day

    #!/usr/bin/python # Exploit Title: Kingsoft Office Writer v2012 8.1.0.3385 .wps Buffer Overflow Expl ...

  8. 【Python④】python恼人的字符串,格式化输出

    恼人的字符串 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码 ...

  9. php发送邮件

    <?php header("content-Type: text/html; charset=utf-8"); require("class.phpmailer.p ...

  10. Thinkphp上传文件

    //1.文件上传Onethink使用$uploads->upload()方法会出现bug,使用$uploads->uploadOne()方法 $config = array( 'maxSi ...