码迷,mamicode.com
首页 > 其他好文 > 详细

No context type was found in the assembly 'xxx.xxxx'. CodeFirst Ef错误

时间:2018-04-25 15:23:29      阅读:1363      评论:0      收藏:0      [点我收藏+]

标签:解决问题   自动   .com   info   default   erb   作用   设置   data   

最简单的解决方案是将启动项目设置为你要生产Migration的项目。

例如:技术分享图片

我这边将Try.EntityFramework设置为启动项目。技术分享图片并且准备在该项目下生成Migration文件。这里的默认项目同样设置为Try.EntityFramework。就OK了。

 

2.另一种方案。

查看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 "Try.EntityFramework.TryDbContext" -ProjectName "Try.EntityFramework" -StartUpProjectName "Try.EntityFramework" -ConnectionStringName "Default" -Verbose

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

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

例如:

add-migration -Name "InitDb" -ProjectName "Try.EntityFramework" -StartUpProjectName "Try.EntityFramework" -ConnectionStringName "Default" -Verbose

update-database -script -ProjectName "Try.EntityFramework" -StartUpProjectName "Try.EntityFramework" -ConnectionStringName "Default" -Verbose

 

No context type was found in the assembly 'xxx.xxxx'. CodeFirst Ef错误

标签:解决问题   自动   .com   info   default   erb   作用   设置   data   

原文地址:https://www.cnblogs.com/FlyStupidBird/p/8944782.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!