• No context type was found in the assemblyMVC


    项目安装了NuGet后,也执行了安装EF,

    NuGet 命令:

    NuGet
    PM> install-package entityframework
    已安装“EntityFramework 5.0.0”。
    MvcStudy 已具有对“EntityFramework 5.0.0”的引用。

    当执行enable migration的时候,出现了错误:

    NuGet
    PM> enable-migrations
    No context type was found in the assembly 'MvcStudy'.

    找了网上,没有找到答案,想想根据错误信息,肯定是数据库问题,开始找了:

    1.连接字符串,在Web.Config里面有啊

    2.DB数据文件,还没有产生

    3.错误信息中提到的No Context,应该是EF连接数据库的Context吧

    想想,刚刚新建了Class(MOdel),没有什么Context啊,那DB的Context应该在哪创建呢,

    先创建Controller吧,

    习惯的一路选,咦,这个是什么呢?“数据上下文类”?什么来的,看看有什么可以选的,

    啊,有“新建上下文类”哦,

    玩玩看,随便起一下名字吧,

    添加完成后,可以看到在Model里面多了一个DBContext的文件哦,看起来,很像是连接DB的东东了。

    这样,Context有了,应该Enable可以了吧,试下,

    NuGet
    PM> enable-migrations
    正在检查上下文的目标是否为现有数据库...
    检测到使用数据库初始值设定项创建的数据库。已搭建与现有数据库对应的迁移“201303201607365_InitialCreate”的基架。若要改用自动迁移,请删除 Migrations 文件夹并重新运行指定了 -EnableAutomaticMigrations 参数的 Enable-Migrations。
    已为项目 MvcStudy 启用 Code First 迁移。
    PM> add-migration initial
    正在为迁移“initial”搭建基架。
    此迁移文件的设计器代码包含当前 Code First 模型的快照。在下一次搭建迁移基架时,将使用此快照计算对模型的更改。如果对要包含在此迁移中的模型进行其他更改,则您可通过再次运行“Add-Migration 201303201609346_initial”重新搭建基架。
    PM> update-database
    指定“-Verbose”标记以查看应用于目标数据库的 SQL 语句。
    正在应用基于代码的迁移: [201303201609346_initial]。
    正在应用基于代码的迁移: 201303201609346_initial。
    正在运行 Seed 方法。

    果然可以了,

    谢天谢地,睡去了....

     备注一下NuGet命令:

    NuGet
    1 install-package entityframework
    2 
    3 enable-migrations
    4 
    5 add-migration initial
    6 
    7 update-database
  • 相关阅读:
    系统架构
    Maven项目管理工具
    SpringMVC进阶(二)
    SpringMVC入门(一)
    Mybatis进阶(三)
    Mybatis进阶(二)
    Mybatis入门(一)
    Redis入门,Jedis和常用命令
    关于MVC 上传文件
    Html遮罩层的显示(主要在于样式设置)
  • 原文地址:https://www.cnblogs.com/hugh251325/p/MVC4_NuGet.html
Copyright © 2020-2023  润新知