通过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. 【paddle学习】词向量

    http://spaces.ac.cn/archives/4122/   关于词向量讲的很好 上边的形式表明,这是一个以2x6的one hot矩阵的为输入.中间层节点数为3的全连接神经网络层,但你看右 ...

  2. 转:linux下共享库的注意点之-fpic

    转: http://www.cnblogs.com/leo0000/p/5691483.html linux下共享库的注意点之-fpic 在编译共享库必须加上-fpic.这是为什么呢? 首先看一个简单 ...

  3. 转:我们是怎么做Code Review的

    我们是怎么做Code Review的   前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大 ...

  4. 三联动 支持ie6,ie7 省,市,区

    三联动 支持ie6,ie7 省,市,区 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <tit ...

  5. 解决Sql server分页时第二页以上查询结果不正常的问题

    有100个产品,其中最高价格的为200元,而200元的产品共有40个, 现在好了,对每页30进行分页: declare @PageSize int--30 declare @Page int decl ...

  6. HDU 2955 Robberies(01背包变形)

    Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  7. Android 代码写控件

    1.设置dialog弹出anthor public static SearchDialog getSearchDialog(Context context,OnDismissListener list ...

  8. HDU 4085 Peach Blossom Spring 斯坦纳树 状态压缩DP+SPFA

    状态压缩dp+spfa解斯坦纳树 枚举子树的形态 dp[i][j] = min(dp[i][j], dp[i][k]+dp[i][l]) 当中k和l是对j的一个划分 依照边进行松弛 dp[i][j]  ...

  9. 浅谈C#中常见的委托

    一提到委托,浮现在我们脑海中的大概是听的最多的就是类似C++的函数指针吧,呵呵,至少我的第一个反应是这样的. 关于委托的定义和使用,已经有诸多的人讲解过,并且讲解细致入微,尤其是张子阳的那一篇.我就不 ...

  10. Android SDK更新失败的解决方案(原创)

    笔者在搭建好Android环境后,进行Android的SDK更新下载升级,乌龟的速度,更让人生气的是到了85%的进度时,直接timeout,循环3次无果.查阅相关资料,原来是Google的服务器遭遇了 ...