1. 程式人生 > >Code First 添加多個上下文

Code First 添加多個上下文

多數據庫 system .com uget 重復 config 數據庫 string 管理

很久沒寫博客了,今天公司項目換框架,和大家商量要搞個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,添加 數據庫表(數據遷移)

  

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

技術分享圖片

Code First 添加多個上下文