好久沒寫博客了,今天公司項目換框架,和你們商量要搞個Entity Framework code first ,而後開始搭建Demoweb
簡單的就不重複了,直接上乾貨,中間踩過的坑, code first 建立多數據庫、多個上下文,並且表名還同樣數據庫
解決方案,一個數據庫建立一個實體類項目,以下圖:框架
問題來了,兩個實體類,怎麼建立數據庫?ide
解決方案:分開單首創建,分次建立工具
1,配置webconfig 兩個數據庫鏈接字符串,而後從新生成解決方案spa
<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 命令窗口code
工具 →Nuget 包管理器 →程序包管理器控制檯blog
3,建立 Migrations,輸入如下命令 會在項目中建立一個文件夾ip
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