Code First 添加多个上下文
Posted xiao-yang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,添加 数据库表(数据迁移)
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 添加多个上下文的主要内容,如果未能解决你的问题,请参考以下文章
ef 用了code first from database 怎么增加新表
Azure:上下文在 Code First 模式下使用,代码是从 EDMX 生成的