mvc+mysql+EF
网上有很多关于EF在联机情况下利用nuget管理器安装的案例,我就讲一下脱机状况吧!
一.建立一个文件夹,例如D:/Packages
放入安装EF和mysql需要的包:EntityFramework.6.1.3.nupkg
EntityFramework.Extended.6.1.0.133.nupkg
EntityFramework.zh-Hans.6.1.3.nupkg
MySql.Data.6.9.8.nupkg
MySql.Data.Entity.6.9.8.nupkg
MySql.Web.6.9.8.nupkg
(根据自己的版本放入自己建立的文件夹)
二.项目右键---管理NuGet程序包---设置---名称(例如Package source)---源(找到自己放的Ef+mysql包的文件夹,例如之前的D:/Packages)---设置ok
三.vs的菜单项---工具---库程序包管理器---程序包管理控制台:(注意:如果有多个项目 ,在程序包管理控制台--默认项目选择自己要安装的项目)
在PM>后输入
Install-Package EntityFramework -Version 6.1.3(根据自己的版本号添加) 回车键确认安装信息
Install-Package EntityFramwork.zh-Hans -Version 6.1.3
Install-Package MySql.Data -Version 6.9.8
Install-Package MySql.Data.Entity -Version 6.9.8
Install-Package MySql.Web -Version 6.9.8 安装完毕
四.定义一个上下文类:
使其继承DbContext
例如:
[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))] //未添加的情况下就会在Add-Migration InitialCreate时候报错:未为提供程序“MySql.Data.MySqlClient” 找到任何 MygrationSqlGenerator.请在目标迁移配置类中使用 SetSqlGenerator 方法以注册其他SQL生成器
public class DataContext:DbContext
{
//name 新建的连接字符串名称和Context类名不同时候,要在上下文的构造函数中指定连接字符串的名称
public DataContext():base("name="Test") {
Database.SetInitializer<DataContext>(null) //不初始化
}
//自己添加的model,放到数据库中去的
public DbSet<User> User{get;set}
}
五.利用EFCodeFirst的数据迁移,在补改变之前数据库结构已经存在的测试数据情况下添加,进行对数据库的操作
Enable-Migrations -EnableAutomaticMigrations:使用EF CodeFirst 下的数据迁移
Add-Migration InitialCreate 创建初始化迁移
Updata-Database -Verbose 修改数据库,将添加的表放到数据库
添加表:
Add-Migration Add表名 例如:Add-Migration AddCompany
Update-Database -Verbose
添加字段
Add-Migration 字段名 例如:Add-Migration Name
Update-Database -Verbose
删除字段
Add-Migration Modify表名 例如:Add-Migration ModifyCompany
Update-Database -Verbose
记得注意事项:
1.类型“System.Data.Entity.DbContext” 在未被引用的程序集中定义。必须添加对程序集“EntityFramework, Version=6.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089” ---在自己引用EF上下文的程序中(web中)安装EF相关
2.即使引用上下文所在的程序集,以及在web项目中 PlatformDbContext db=new PlatformDbContext(), 在web的web.config中没有配置连接字符串,也是会报“未将对象实例化”---所以记得在自己的页面所在web,或者控制台引用程序中配置连接数据库字符串。
mvc+mysql+EF的更多相关文章
- 翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 3
原文地址:http://ddmvc4.codeplex.com/ 原文名称:Design and Develop a website using ASP.NET MVC 4, EF, Knockout ...
- 翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 1
原文地址:http://ddmvc4.codeplex.com/ 原文名称:Design and Develop a website using ASP.NET MVC 4, EF, Knockout ...
- ASP.NET MVC和EF集成AngularJS开发
参考资料: 如何在ASP.NET MVC和EF中使用AngularJS AngularJS+ASP.NET MVC+SignalR实现消息推送 [AngularJs + ASP.NET MVC]使用A ...
- 1、MVC和EF中的 Model First 和 Code First
准备:先引入MVC和EF的dll包 *命令方法:打开工具——库程序包管理器——程序包管理器控制台,选择自己的项目 a) Install-Package EntityFramework -Ver ...
- VS2015+MySql EF的配置问题
自己做笔记,防止以后各种找! 去MySql下载最新版的安装包,MySql For Windows全部就可以了,根据开发需求安装功能,然后安装MySql的步骤上网去找一大堆. 注意事项: 第一:必须把V ...
- 使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑
翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑 Part 3: 设计逻辑层:核心开发 如前所述,我们的解决方案 ...
- asp.net core + mysql + ef core + linux
asp.net core + mysql + ef core + linux 以前开发网站是针对windows平台,在iis上部署.由于这次需求的目标服务器是linux系统,就尝试用跨平台的.NET ...
- MySql+EF <二>
C#使用Mysql+EF架构项目有一系列问题. 一.EF没有Mysql的驱动,这个需要自己安装2个插件 ①mysql-connector-net-6.9.10.msi ②mysql-for-visua ...
- .NET Core1.1+VS2017RC+MySQL+EF搭建多层Web应用程序
先贴上解决方案截图 一.新建4个解决方案文件夹 1-Presentation 2-Application 3-Domain 4-Infrastructure 二.在解决方案文件夹中分别创建项目 其余项 ...
随机推荐
- js浏览器对象的属性和方法
1.window对象 /*1.计算浏览器窗口大小*/ //不算滚动条: var width = window.innerWidth; var height = window.innerHeight; ...
- Oracle数据库根据时间查询
' and trans_dt between to_date('2010-12-01 00:00:00','YYYY-MM-DD HH24:MI:SS') and to_date('2011-12-3 ...
- A股各概念板块龙头股大全
A股各概念板块龙头股大全一.新兴信息产业龙头 1.车联网龙头——软控股份002073 启明信息002232.荣之联002642 2.通信网络龙头——恒宝股份002104 3.通信设备制造龙头——新海宜 ...
- Html5知识
<!DOCTYPE> 声明 <!DOCTYPE>声明有助于浏览器中正确显示网页. 网络上有很多不同的文件,如果能够正确声明HTML的版本,浏览器就能正确显示网页内容. doct ...
- 《IT蓝豹》高仿花田ios版标签移动效果
高仿花田ios版标签移动效果,长按每一个item拖动到自己想要位置后,后面位置移动补全效果 . 本项目适合研究gridview拖拽效果的朋友下载. 学习android动画特效. 本项目主要靠DragG ...
- npm 换源
npm config set registry https://registry.npm.taobao.org
- scala变量
#声明与定义(赋值) val 常量声明 val x:T val x:T=e (x:名字,T:类型,e:值) var 变量声明 var x:T var x:T=e #类型省略(默认类型) v ...
- 使用Word发布文章到 WordPress 博客
使用Word发布文章到 WordPress 博客 我们都知道,WordPress 自带的编辑器功能比较弱,而使用 Word 编辑文档却功能强大.其实我们使用 Word 编辑好的文档也是可以直接发布到 ...
- 配置 samba 实现文件共享
用于实现文件共享 netstat -apn|grep smb 可以按到 smb服务,需要开启139 .445端口号 需要在防火墙添加如下规则vi /etc/sysconfig/iptables -A ...
- jquery里面的名称冲突解决方法
jQuery 使用 $ 符号作为 jQuery 的简介方式. 某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号. jQuery 使用名为 noConflict( ...