MVC和EF中的 Model First 和 Code First
准备:先引入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比较方便,但每次生成时会重新创建数据库,所以如果之前数据库中有数据的话会被清空。
MVC和EF中的 Model First 和 Code First的更多相关文章
- 1、MVC和EF中的 Model First 和 Code First
准备:先引入MVC和EF的dll包 *命令方法:打开工具——库程序包管理器——程序包管理器控制台,选择自己的项目 a) Install-Package EntityFramework -Ver ...
- 如何在ASP.NET MVC和EF中使用AngularJS
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) AngularJS作为一个越来越流行的前端框架,在使用ASP.NET MVC和实体框架开发W ...
- 1.【使用EF Code-First方式和Fluent API来探讨EF中的关系】
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/relationship-in-entity-framework-using-code-firs ...
- 2.EF中 Code-First 方式的数据库迁移
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/code-first-migrations-with-entity-framework/ 系列目 ...
- EF中 Code-First 方式的数据库迁移
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/code-first-migrations-with-entity-framework/ 系列目 ...
- ASP.NET MVC和EF集成AngularJS开发
参考资料: 如何在ASP.NET MVC和EF中使用AngularJS AngularJS+ASP.NET MVC+SignalR实现消息推送 [AngularJs + ASP.NET MVC]使用A ...
- easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)
easyui datagrid 禁止选中行 没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...
- ASP.NET MVC中默认Model Binder绑定Action参数为List、Dictionary等集合的实例
在实际的ASP.NET mvc项目开发中,有时会遇到一个参数是一个List.Dictionary等集合类型的情况,默认的情况ASP.NET MVC框架是怎么为我们绑定ASP.NET MVC的Actio ...
- ASP.NET MVC中对Model进行分步验证的解决方法
原文:ASP.NET MVC中对Model进行分步验证的解决方法 在我之前的文章:ASP.NET MVC2.0结合WF4.0实现用户多步注册流程中将一个用户的注册分成了四步,而这四个步骤都是在完善一个 ...
随机推荐
- JQueryEasyUI easyui-combobox 单击文本区域显示下拉菜单
//单击内容框弹出下拉菜单 $(".combo").click(function (e) { if (e.target.className == 'combo-text valid ...
- Swoole学习(二)Swoole之TCP服务器的创建
环境:Centos6.4,PHP环境:PHP7 <?php //创建TCP服务器 /** * $host 是swoole需要监听的ip,如果要监听本地,不对外服务,那么就是127.0.0.1;如 ...
- Cisco 交换Trunk配置
交换Trunk配置 #进入直连端口下 config)#int f0/1 #配置trunk封装协议 config)#switchport trunk encapsulation dot1q #配置为tr ...
- logstash运输器以及kibana的更多操作
为了达到不会因为ELK中的某一项组件因为故障而导致整个ELK工作出问题,于是 将logstash收集到的数据存入到消息队列中如redis,rabbitMQ,activeMQ或者kafka,这里以red ...
- Job流程:Mapper类分析
此文紧接Job流程:决定map个数的因素,Map任务被提交到Yarn后,被ApplicationMaster启动,任务的形式是YarnChild进程,在其中会执行MapTask的run()方法.无论是 ...
- Hive表的修改Alter
1.查看创建表的信息 [show create table] hive> show create table student; OK createtab_stmt CREATE TABLE `s ...
- 1_archlinux_安装篇
系统安装 可参考网友的文章: https://www.douban.com/note/263375303/?type=like http://www.68idc.cn/help/server/linu ...
- kali2016.2安装后配置
接触kali有几个月了,总是有一种浅尝辄止的感觉.因为不常用,一些常用操作时常想不起来了.为日后查找方便,特通过写博客方式来记录. 新建虚拟机,和安装其它操作系统差别不大,按提示一步一步安装.第1次安 ...
- ThinkPHP将上传问件添加到数据库
<?php namespace Home\Controller; /***************** use Think\Controller; ****命名空间****/ class Mes ...
- OGNL与ValueStack(VS)-N语法top语法(转)
N语法[0]:<s:property value="[0]"/><br> N语法[1]:<s:property value="[1]&quo ...