实体框架启用迁移
本文关键字:迁移 启用 框架 实体 | 更新日期: 2023-09-27 17:57:07
我所有的搜索都回到了两个问题的同一个问题,这不是这个项目的问题。我以前从未遇到过这个问题,但这个特殊的项目很奇怪。
首先,项目名称是 Site
.类SiteContext
继承DbContext
。
当我运行启用迁移时,即使是显式的,包管理器控制台也会返回错误:
PM> Enable-Migrations -ContextType SiteContext
The context type 'SiteContext' was not found in the assembly 'Site'.
但它就在代码中:
// Not in a namespace or anything
public class SiteContext : DbContext {
// public DbSets in here
}
我可以在网站代码中的任何位置使用SiteContext
,通过数据库的对象访问数据库等。只有"启用迁移"命令找不到它。除此之外,实体的代码优先功能工作正常。
知道会发生什么吗?我在哪里搞砸了?
(实体框架 6.0.2/网页 3.1.1)
ASP.NET 网页
网站是使用网站项目类型构建的。此项目类型不支持实体框架迁移。如果要对 ASP.NET 网页网站使用代码优先迁移,则需要将数据访问代码开发为单独的类库。该项目类型支持 EF 迁移。我在这里写了一篇关于它的博客:http://www.mikesdotnetting.com/Article/217/Code-First-Migrations-With-ASP.NET-Web-Pages-Sites
而不是 -ContextType,使用 -ProjectName 并指定站点。
编辑:首先,尝试 -ContextTypeName。 我不得不假设你没有。