Entity Framework 6 Code First的简单使用和更新数据库结构
一、安装Entity Framework 6
在项目中右击选择“管理NuGet程序包",联机搜索Entity Framework,点击安装
二、配置数据库连接
在App.config中加入数据库连接字符串的配置
<connectionStrings>
<add name="DBContext" connectionString="data source=127.0.0.1;uid=sa;pwd=123;database=test;" providerName="System.Data.SqlClient"/>
</connectionStrings>
三、DbContext及实体类
public class MyContext:DbContext
{
public MyContext() : base("DBContext") { }
public DbSet<Product> Products { get; set; }
} public class Product
{
[Key]
public string Code { get; set; } public string Name { get; set; } public int Quantity { get; set; }
}
四、简单测试
static void Main(string[] args)
{
using (MyContext db = new MyContext())
{
var product = new Product { Code = "", Name = "p1" };
db.Products.Add(product);
db.SaveChanges();
}
}
五、更新数据库结构
1.点击视图->其他窗口->程序包管理器控制台
2.输入Update-Database
这时会出现“No migrations configuration type was found in the assembly 'EF6CodeFirst'. (In Visual Studio you can use the Enable-Migrations command from Package Manager Console to add a migrations configuration).“
3.输入Enable-Migrations
命令执行成功后会在项目中自动添加Migrations,目录里有一个Configuration.cs,打开Configuration.cs把AutomaticMigrationsEnabled修改为true
4.再次尝试执行Update-Database
命令能正确执行
5.我们尝试删除Name字段,然后执行Update-Database
由于Name字段有数据,命令执行失败,显示如下错误:Automatic migration was not applied because it would result in data loss
这个时候能用Update-Database -Force来强制更新数据库,但这将造成数据丢失
六、总结
Entity Framework 6 Code First能使数据库访问和实体操作代码变得很简洁,但如果项目开发过程中需要频繁的更改数据库就要考虑清楚才使用了。
Entity Framework 6 Code First的简单使用和更新数据库结构的更多相关文章
- 【极力分享】[C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例【转载自https://segmentfault.com/a/1190000004152660】
[C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例 本文我们来学习一下在Entity Framework中使用Cont ...
- AppBox升级进行时 - 拥抱Entity Framework的Code First开发模式
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 从Subsonic到Entity Framework Subsonic最早发布 ...
- 在Entity Framework 中用 Code First 创建新的数据库
在Entity Framework 中用 Code First 创建新的数据库 (原文链接) 本文将逐步介绍怎样用Code First 创建新数据库,使用在代码中定义类和API中提供的特性(Attri ...
- Entity Framework 6 Code First新特性:支持存储过程
Entity Framework 6提供支持存储过程的新特性,本文具体演示Entity Framework 6 Code First的存储过程操作. Code First的插入/修改/删除存储过程 默 ...
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...
- MVC2、MVC3、MVC4、MVC5之间的区别 以及Entity Framework 6 Code First using MVC 5官方介绍教程
现在MVC的技术日趋成熟,面对着不同版本的MVC大家不免有所迷惑 -- 它们之间有什么不同呢?下面我把我搜集的信息汇总一下,以便大家能更好的认识不同版本MVC的功能,也便于自己查阅. View Eng ...
- Entity Framework 之 Code First
使用NuGet助您玩转代码生成数据————Entity Framework 之 Code First [前言] 如果是Code First老鸟或者对Entity Framework不感兴趣,就不用浪费 ...
- Entity Framework Core Code First 项目实践
Entity Framework Core Code First 实践 任何一种技术的出现都是为了解决一系列特定的问题,只有了解了技术所要解决的关键问题,才能理解它的真正用途,之后,才能在实践中用好它 ...
- Entity Framework 实体框架的形成之旅--几种数据库操作的代码介绍(9)
本篇主要对常规数据操作的处理和实体框架的处理代码进行对比,以便更容易学习理解实体框架里面,对各种数据库处理技巧,本篇介绍几种数据库操作的代码,包括写入中间表操作.联合中间表获取对象集合.递归操作.设置 ...
随机推荐
- Go操作MongoDB
mongoDB是目前比较流行的一个基于分布式文件存储的数据库,它是一个介于关系数据库和非关系数据库(NoSQL)之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. mongoDB介绍 mon ...
- 牛客练习赛52 B Galahad (树状数组)
题目链接:https://ac.nowcoder.com/acm/contest/1084/B 题意 5e5的区间,5e5个询求[l,r]区间内出现过的数的和 思路 1s时限,莫队显然会T 我们可以将 ...
- 12306 抢票系列之只要搞定RAIL_DEVICEID的来源,从此抢票不再掉线(上)
郑重声明: 本文仅供学习使用,禁止用于非法用途,否则后果自负,如有侵权,烦请告知删除,谢谢合作! 开篇明义 本文针对自主开发的抢票脚本在抢票过程中常常遇到的请求无效等问题,简单分析了 12306 网站 ...
- 小白学 Python 数据分析(4):Pandas (三)数据结构 DataFrame
在家为国家做贡献太无聊,不如跟我一起学点 Python 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Panda ...
- 快速下载Keil μVision MDK-Arm包
搜索"MDK Pack",找到Keil官网的MDK包下载页,如下图所示 Keil的官网的域名是Keil.com,下图搜索结果的URL的域名部分被红框标记,那是Keil官网的域名 以 ...
- 浅谈ActionResult之FileResult
FileResult是一个基于文件的ActionResult,利用FileResult,我们可以很容易的将某个物理文件的内容响应给客户端,ASP.NET MVC定义了三个具体的FileResult,分 ...
- 【C++】C++程序加载lib静态库
使用Visual Studio 编写C++程序有几种配置lib的方法,以下是在代码中加载lib文件的方法: 在项目所在目录下创建文件夹lib,将lib文件此路径下,包括Debug和Release两种模 ...
- Python原来这么好学-2.1节: 选择PyCharm作为开发工具
这是一本教同学们彻底学通Python的高质量学习教程,认真地学习每一章节的内容,每天只需学好一节,帮助你成为一名卓越的Python程序员: 本教程面向的是零编程基础的同学,非科班人士,以及有一定编程水 ...
- FastDFS 配置文件 tracker.conf
FastDFS 版本5.05 配置文件分为三部分 控制器:tracker.conf存储器:storage.conf 客户端:client.conf 文件位置:/etc/fdfs 基本配置(基础配置 ...
- Python 实现转堆排序算法原理及时间复杂度(多图解释)
原创文章出自公众号:「码农富哥」,欢迎转载和关注,如转载请注明出处! 堆基本概念 堆排序是一个很重要的排序算法,它是高效率的排序算法,复杂度是O(nlogn),堆排序不仅是面试进场考的重点,而且在很多 ...