转自:http://www.cnblogs.com/stevenhqq/archive/2013/04/18/3028350.html

以前做项目的时候,没有采用分类库的形式,所以迁移一致非常顺利,没有出现过任何状况。

这次做项目稍微有点大,必须要分类库才方便开发维护。

在解决方案中启用项目EntityFramework迁移时却发生了异常。

异常说在我的项目中没有找到DBContext类。

这个DBContext类确实没有放在启动项目下面,是另外建立了一个独立的类库来存放。

在启动项目中引用了却无法找到。。。

查看get-help Enable-Migrations帮助,发现启用迁移命令带了几个参数。

Enable-Migrations [-ContextTypeName <String>] [-EnableAutomaticMigrations] [-ProjectName <String>] [-StartUpProjectName <String>] [-ConnectionStringName <String>] [-Force] [<CommonParameters>]

ContextTypeName:项目继承自DBContext的类名字。

EnableAutomaticMigrations:开启自动迁移。

ProjectName:存放DBContext类的项目名称。

StartUpProjectName:解决方案中启动项目的名称,作用是调用该项目下的连接字符串。

ConnectionStringName:连接字符串名称

上面五个参数是解决问题必须的,其它的无关紧要。

例如:

Enable-Migrations -ContextTypeName "DBAccessLib.TJSSDBContext" -ProjectName "DBAccessLib" -StartUpProjectName "WebSite" -ConnectionStringName "TJSSDBContext" -Verbose

依次填好之后,问题解决。

同样的在Add-Migration、Update-Database的时候也需要填写相应的参数。否则会出现同样错误。

例如:

Add-Migration -Name "EditCST_DevicePhoto"  -ProjectName "DBAccessLib" -StartUpProjectName "WebSite" -ConnectionStringName "TJSSDBContext" -Verbose

Update-Database -Script -ProjectName "DBAccessLib" -StartUpProjectName "WebSite" -ConnectionStringName "TJSSDBContext"  -Verbose

install-package entityframework -project domain

enable-migrations -ContextTypeName "EFDbContext" -ProjectName "Domain" -

StartUpProjectName "WebUI" -ConnectionStringName "ApplicationServices"

不能建立表 因为这个参数 -script

Add-Migration -Name "a"  -ProjectName "domain" -StartUpProjectName "WebUI" -ConnectionStringName "ApplicationServices"

update-database -script -projectName "Domain" -StartUpProjectName "WebUI" -ConnectionStringName "ApplicationServices"

update-database -projectName "Domain" -StartUpProjectName "WebUI" -ConnectionStringName "ApplicationServices"

EntityFramework 启用迁移 Enable-Migrations 报异常 "No context type was found in the assembly"的更多相关文章

  1. Code First 启用迁移时出错 "No context type was found in the assembly"

    问题:Code First 启用迁移时找不到上下文DbContext所在的项目. PM> Enable-Migrations No context type was found in the a ...

  2. EntityFramework codefirst Enable-Migrations No context type was found in the assembly “MyApp.Web” error

    Enable-Migrations -Force -ContextTypeName "MyApp.Repository.DataContext" -ProjectName &quo ...

  3. 当Django模型迁移时,报No migrations to apply 问题时

    前言:当更改model时在次迁移是不是经常报此类错误,解决以下两点便可以更新成功 1. 删除修改模型对应的app应用下的migrations中的生成文件 2. 进入数据库,找到django_migra ...

  4. EntityFramework Core迁移时出现数据库已存在对象问题解决方案

    前言 刚开始接触EF Core时本着探索的精神去搞,搞着搞着发现出问题了,后来就一直没解决,觉得很是不爽,借着周末好好看看这块内容. EntityFramework Core迁移出现对象在数据库中已存 ...

  5. EntityFramework之迁移操作(五)

    使用Code First的话对于实体字段或者表映射修改都需要使用迁移操作,下面列出操作具体步骤 1.创建映射类和实体,本文主要是讲解迁移步骤,其他代码则没有列出 public class Produc ...

  6. 单点登录(十)-----遇到问题-----cas启用mongodb验证方式报错com.mongodb.CommandFailureException---Authentication failed

    cas启用mongodb验证方式报错com.mongodb.CommandFailureException---Authentication failed. 完整报错信息: 二月 08, 2017 5 ...

  7. EntityFramework数据迁移(笔记)

    1.启用迁移 在Package Manager Console中运行Enable-Migrations命令 此命令已将Migrations文件夹添加到我们的项目中,此新文件夹包含两个文件: Confi ...

  8. 【Debug 报异常】Debug打断点报错

    用DEBUG启动项目,项目中打断点的,然后会报异常 解决方法: 第一步: 项目-->Java编译器-->Classfile Generation 复选框 全部勾选 第二步: 替换当前文件运 ...

  9. 启动tomcat后struts框架报异常严重: Exception starting filter struts2 Unable to load configuration.

    启动tomcat后struts框架报异常严重: Exception starting filter struts2 Unable to load configuration. 出现此异常是因为,str ...

随机推荐

  1. C语言的结构体和C++结构体的区别

    关于C++中声明结构体中需要使用构造器创建实例对象的语法: <C++的结构体构造方法的基本概念:结构体的构造方法需要和结构体的名字相同,并且无返回值,也不要void关键字,这样的方法就是构造器的 ...

  2. 通过跳板机建立信任,对多个tomcat服务统一安装部署(shell编写)

    unifyDeploy 自动化统一安装部署 系统版本: unifyDeploy0.1 文件编号: 0.1 发布日期: 2014-06-26 编    制: WangYong 版权所有 内部资料注意保密 ...

  3. python urllib2 发起http请求post

    使用urllib2发起post请求 def GetCsspToken(): data = json.dumps({"userName":"wenbin", &q ...

  4. 0012 win7x64安装CentOS7

    00 准备工作 到VirtualBox官网下载Oracle VM VirtualBox 5.1.8:https://www.virtualbox.org/wiki/Downloads 到centos官 ...

  5. 10个开源的PHP网站内容管理系统

    1. DEDE -这是一款国内开源的cms,作者是一个个人,能做出如此功能的cms,是相当不错的.2007版功能十分强大,希望能改善之前数据量一大,更新静态页就很慢的缺点.因为开源,有较多的玩家和拥护 ...

  6. oracle学习笔记系列------oracle 基本操作之表的增删改查

    --创建一个表 CREATE TABLE employee_souvc( id ), name ), gender ), birth DATE, salary ,), job ), deptno ) ...

  7. Linux IPC POSIX 信号量

    模型 #include<semaphore.h> #include<sys/stat.h> #include<fcntl.h> sem_open() //初始化并打 ...

  8. HTTP 请求报文 响应报文

    引言 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发 ...

  9. 【工作常用代码集】批量Telnet远端端口

    作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ __author__ = 'gnuhpc' import telnetlib,socket IP={} def ...

  10. org.eclipse.ui.menus扩展点学习

    Eclipse菜单: menu:help?after=addtions menu:navigate?after=open.ext2 menu:window?after=newEditor menu:f ...