visual studio 项目中使用EF创建的数据库,后续更新数据库操作(生产已经部署,不能删除数据库重新创建)

情景:SharePoint项目(其他类型的项目道理也一样),数据库是用EF(版本:6.0.0.0)创建的,生产环境已经使用,所以后续修改数据库,只能通过更新来实现。

下面是具体的操作方式:

1、visual studio 打开项目,打开“程序包管理控制台”。

操作方式:视图--其他窗口--程序包管理控制台

visual studio 项目中使用EF创建的数据库,后续更新数据库操作(生产已经部署,不能删除数据库重新创建)

2、项目“引用”中 EntityFramework.SqlServer.dllEntityFramework.dll 这两个文件的属性要复制到本地

操作方式:选中文件--按F4--属性对话框中的“复制到本地”,选择True

visual studio 项目中使用EF创建的数据库,后续更新数据库操作(生产已经部署,不能删除数据库重新创建)

3、在项目的配置文件中,配置好数据库连接字符串

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="ConnectName" connectionString="data source=111.111.111.111;initial catalog=TestDB;user id=sa;password=123;MultipleActiveResultSets=True;App=EntityFramework;Connect Timeout=3600;" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

4、在 “程序包管理控制台” 顺序执行以下命令

Enable-Migrations
Add-Migration
Update-Database

5、一切顺利的话,恭喜你,数据库更新成功!

6、注意项目生成的目标平台,要选择“Any CPU"。

操作方式:选中项目--属性--在打开的界面中,把”目标平台“改为”Any CPU"

visual studio 项目中使用EF创建的数据库,后续更新数据库操作(生产已经部署,不能删除数据库重新创建)

7、更新完成后,最好是把上诉修改的文件,还有操作过程中在项目中新增加的文件删除就好。