通过Code First 迁移发布asp.net mvc应用程序,与在visual studio 程序包控制器管理台中运行Add-Migration ,Update-Database 一致。

在发布的程序的Web.Config 配置文件数据库初始化器 databaseInitializer 为 MigrateDatabaseToLatestVersion。

如果目标服务器数据库不存在,创建数据库,再运行种子方法进行填充。如果数据库存在,则使数据库更新至与模型一致,再运行种子方法进行填充数据库。

一、在需要发布的项目 右键 属性-- 发布。

二、命名部署配置文件,选择发布方法,可以选择WebDeploy ,就是直接从vs中发布到IIS服务器。使用Code First 迁移的方式的发布系统使用的是Deploy方式。  也可以选择本地文件系统,先发布到本地,再将文件拷入服务器。

三、在 连接 配置中输入 服务器(如 本机http://localhost或http://IP地址)、站点名称(如ContosoWebSite)、目标URL(如 http://localhost)(就是应用程序 发布到服务器完成后立即启动的方法或者页面。 然后点 验证连接。

四、在设置 中,数据库 下面输入 数据库连接字符串,如Data Source=(Local);Initial Catalog=ContosoUniversity20151107;Integrated Security=True,( 发布以后,数据库连接字符串将写入 发布的网站程序的Web.config文件。)

勾选 执行CodeFirst迁移(在应用程序启动时),此勾选 将在发布的网站程序中 的配置文件Web.Config 中写入 指定 数据库初始化器 databaseInitializer 为

MigrateDatabaseToLatestVersion。完成在应用程序启动的时候,执行CodeFirst迁移,也就是执行UPSERT操作,如果目标服务器数据库不存在,创建数据库,并运行种子方法进行填充。如果数据库存在,则使数据库更新至与模型一致。

<contexts>
<context type="ContosoUniversity.DAL.SchoolContext, ContosoUniversity">
<databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[ContosoUniversity.DAL.SchoolContext, ContosoUniversity], [ContosoUniversity.Migrations.Configuration, ContosoUniversity]], EntityFramework, PublicKeyToken=b77a5c561934e089">
<parameters>
<parameter value="SchoolContext_DatabasePublish" />
</parameters>
</databaseInitializer>
</context>

使用Code First 迁移发布asp.net mvc 程序的更多相关文章

  1. IIS8发布Asp.net MVC程序后出现404错误,处理程序staticFile

    新部署的虚拟机,运行Asp.net MVC程序,出现如下图错误: 解决方法: 添加功能和角色->添加角色->Web服务器IIS->应用程序开发->Asp.net3.5 /Asp ...

  2. MVC中使用EF(1):为ASP.NET MVC程序创建Entity Framework数据模型

    为ASP.NET MVC程序创建Entity Framework数据模型 (1 of 10) By  Tom Dykstra |July 30, 2013 Translated by litdwg   ...

  3. 用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器(转)

    用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器   现在不用Git,都不好意思说自己是程序员. 当你想用Git,而源代码服务器是Windows系统时,你 ...

  4. 跟我学ASP.NET MVC之三:完整的ASP.NET MVC程序-PartyInvites

    摘要: 在这篇文章中,我将在一个例子中实际地展示MVC. 场景 假设一个朋友决定举办一个新年晚会,她邀请我创建一个用来邀请朋友参加晚会的WEB程序.她提出了四个注意的需求: 一个首页展示这个晚会 一个 ...

  5. 跟我学ASP.NET MVC之二:第一个ASP.NET MVC程序

    摘要: 本篇文章带你一步一步创建一个简单的ASP.NET MVC程序.  创建新ASP.NET MVC工程 点击“OK”按钮后,打开下面的窗口: 这里选择“Empty”模板以及“MVC”选项.这次不创 ...

  6. 05 入门 - 浅谈 ASP.NET MVC程序的工作原理

    目录索引:<ASP.NET MVC 5 高级编程>学习笔记 本篇内容 1. Global.asax文件 2. RouteConfig.cs文件 3. 视图命名和寻址的规则 前面创建了一个简 ...

  7. .NET手记-为ASP.NET MVC程序集成Autofac

    MVC Autofac总是会紧跟最新版本的ASP.NET MVC框架,所以文档也会一直保持更新.一般来讲,不同版本的框架集成Autofac的方法一般不变. MVC集成需要引用 Autofac.Mvc5 ...

  8. IIS发布asp.net mvc项目(asp.net core也是一样)

    因为之前都是利用其他的工具在linux上面进行发布,导致现在忘记了在IIS上面怎么发布,现在就记录下来,以防不时之需吧 第一步: 在vs里面进行项目发布:指定好发布的位置,点击发布就好了 第二步:右击 ...

  9. 使用Windows Azure创建和发布ASP.NET应用程序

    Windows Azure为我们提供了一个功能强大的PaaS平台,使得我们无须部署和维护基础架构就可以根据需求发布开发的应用程序,并且支持多种语言及平台,如:ASP.NET, PHP, Python, ...

随机推荐

  1. 揭秘jbpm流程引擎内核设计思想及构架

    揭秘jbpm流程引擎内核设计思想及构架 作者 胡长城(银狐999)   1     前言 2     阅读本篇的基础准备 2.1      概念的基础 2.2      环境的基础 3     什么是 ...

  2. 转:Twemproxy——针对MemCached与Redis的代理

    转自: http://www.infoq.com/cn/news/2012/12/twemproxy Twemproxy是一个代理服务器,可以通过它减少Memcached或Redis服务器所打开的连接 ...

  3. mysqldbcopy 数据库复制工具

    命令参考 mysqldbcopy --source=root:'xxxxxxx'@database s --destination=root:'^%xxxxxz'@databases orange:o ...

  4. linux的主分区与逻辑分区的关系

     主分区和扩展分区的差别在于主分区位于硬盘的最開始.MBR 扇区的位置.这个位置的数据在计算机启动时.会自己主动被 BIOS 读取而且运行,也就是说这个位置的分区表会自己主动被 BIOS 读取到内 ...

  5. mysql 安装与配置、使用

    http://www.cnblogs.com/shenliang123/p/3203546.html CentOs中mysql的安装与配置 在linux中安装数据库首选MySQL,Mysql数据库的第 ...

  6. 原生js实现悬浮框滑动动画

    最近在做个人博客想做个相册,鼠标悬浮后出现个div并且鼠标移动到哪个相册,div跟随到哪个相片上. <!DOCTYPE html> <html lang="en" ...

  7. ln: 正在创建指向“asm-arm”的符号链接“asm”: 不支持的操作

    原因是不能在windows共享目录编译,将待编译的uboot源码copy到home目录

  8. java中InputStream String

    Java 中获取输入流时,有时候须要将输入流转成String,以便获取当中的内容 ,以下总结一下 InputStream 转成String 的方式  方法1: public String conver ...

  9. 每日五题(Spring)

    1使用Spring框架的优点是什么? 控制反转: Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们. 面向切面的编程(AOP): Spring支持面向切面的编 ...

  10. this that 时间戳转日期 小程序 列表 与 加载

    var gd = getApp().globalData; var imgUrlApp = gd.imgUrlApp; var localImgPath = gd.localImgPath; var ...