Code First 添加多个上下文

很久没写博客了,今天公司项目换框架,和大家商量要搞个Entity Framework code first ,然后开始搭建Demo

简单的就不重复了,直接上干货,中间踩过的坑, code first 创建多数据库、多个上下文,而且表名还一样

解决方案,一个数据库创建一个实体类项目,如下图:

问题来了,两个实体类,怎么创建数据库?

解决方案:分开单独创建,分次创建

1,配置webconfig 两个数据库连接字符串,然后重新生成解决方案

  


<add name="NewsContext" providerName="System.Data.SqlClient" connectionString="Server=.;UID=XXX;PWD=XXX;Database=YJC1111;" /> <add name="WCSContext" providerName="System.Data.SqlClient" connectionString="Server=.;UID=XXX;PWD=XXX;Database=YJC2222;" />

2,首先打开nuget 命令窗口

  工具 →Nuget 包管理器 →程序包管理器控制台

3,创建 Migrations,输入以下命令 会在项目中创建一个文件夹

  

PM> Enable-Migrations -ContextTypeName  "CodeFirst.Entity.NewsContext" -ProjectName "CodeFirst.Entity" -StartUpProjectName "Code" -ConnectionStringName "NewsContext" -Verbose

  

   

4,添加 数据库表(数据迁移)

  对于已经先有数据库,再用Code first 的同志,请执行  Add-Migration InitialCreate -IgnoreChanges

PM> Add-Migration -Name "Add"  -ProjectName "CodeFirst.Entity" -StartUpProjectName "Code" -ConnectionStringName "NewsContext" -Verbose

  

5,更新,提交

  

PM> Update-Database -Script -ProjectName "CodeFirst.Entity.WCS" -StartUpProjectName "Code" -ConnectionStringName "WCSContext"  -Verbose

以上步骤操分别操作完,会创建2个数据库,表名一样,字段名也一样,都没问题

图1

 图2

 

 图3

原文地址:https://www.cnblogs.com/xiao-yang/p/9637688.html