网上有很多关于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的更多相关文章

  1. 翻译:使用 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 ...

  2. 翻译:使用 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 ...

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

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

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

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

  5. VS2015+MySql EF的配置问题

    自己做笔记,防止以后各种找! 去MySql下载最新版的安装包,MySql For Windows全部就可以了,根据开发需求安装功能,然后安装MySql的步骤上网去找一大堆. 注意事项: 第一:必须把V ...

  6. 使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑

    翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑 Part 3: 设计逻辑层:核心开发 如前所述,我们的解决方案 ...

  7. asp.net core + mysql + ef core + linux

    asp.net core + mysql + ef core + linux 以前开发网站是针对windows平台,在iis上部署.由于这次需求的目标服务器是linux系统,就尝试用跨平台的.NET ...

  8. MySql+EF <二>

    C#使用Mysql+EF架构项目有一系列问题. 一.EF没有Mysql的驱动,这个需要自己安装2个插件 ①mysql-connector-net-6.9.10.msi ②mysql-for-visua ...

  9. .NET Core1.1+VS2017RC+MySQL+EF搭建多层Web应用程序

    先贴上解决方案截图 一.新建4个解决方案文件夹 1-Presentation 2-Application 3-Domain 4-Infrastructure 二.在解决方案文件夹中分别创建项目 其余项 ...

随机推荐

  1. ycm添加自定义补全路径

    修改~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py的flags变量 未改前如下: flags = [  ...

  2. 为控件Button设置快捷键(组合键)

    控件MenuStrip和ContextMenuStrip可通过ShortCcutKeys属性设置快捷键,而控件Button没有ShortcutKey属性,如何为控件Button设置快捷键呢(组合件键) ...

  3. @Resource、@Autowired、@Qualifier的注解注入及区别

    在Java代码中可以使用 @Resource  或者 @Autowired 注解方式来进行注入. 虽然 @Resource 和 @Autowried 都可以完成依赖注入,但是他们是有区别的. 一: @ ...

  4. 最近使用JQuery Easyui 碰到的几个奇怪问题

    最近项目想尝试Easyui来做做前端界面,但是刚开始就碰到几个问题,记录下来,免得忘了. 1. 点击添加或修改按钮后,弹出窗体,窗体内容参加“href”属性远程加载 问题:第一次弹出窗体正常,但是再次 ...

  5. Sublime Text 3 汉化小技巧

    Sublime Text 3 简体中文汉化包使用方法 1.将下载的sublime_text3汉化包文件解压,得到的Default.sublime-package 文件.打开sublime text 3 ...

  6. hg常用命令

    关于hg命令选项 如果你是在windows系统下,使用的是图像界面,你很可能不常用它.但是一旦你了解这些命令之后,会觉得很方便.hg有很多命令,这些命令都有一定的选项,在开始的时候,只知道用它,有时候 ...

  7. 图像上传OSS的BUG

    今天遇到了一个流上传BUG. 图像经过压缩后传到阿里OSS上后无法显示,下载后发现图像大小为0KB. 调试发现上传的时候发现处理后的流大小正确. 最后发现是流经过图像处理后没有复位. 使用res.Se ...

  8. Linux性能工具介绍

    l  Linux性能工具介绍 p  CPU高 p  磁盘I/O p  网络 p  内存 p  应用程序跟踪 l  操作系统与应用程序的关系比喻为“唇亡齿寒”一点不为过 l  应用程序的性能问题/功能问 ...

  9. Python实时获取贴吧邮箱名单并向其发送邮件

    本人Python大菜鸟,今天用python写了一个脚本.主要功能是获取贴吧指定贴子评论中留下的邮箱,通过系统的crontab每一分钟自动检测新邮箱并向其发送邮件,检测机制是去查询数据库的记录,也就是不 ...

  10. C3属性的轮播图(持续更新)

    天气好冷,都不想写代码.就先写个没有焦点的轮播图,过两天在补全. 用的是CSS3的属性 过渡transition 和 转换 transfrom:translateX() 只做了轮播和 鼠标进入停止轮播 ...