实体框架启用 - 迁移

时间:2014-04-07 19:40:27

标签: c# asp.net entity-framework asp.net-webpages

我的所有搜索都回到了两个问题中的同一个问题,这不是本项目中的问题。我之前从未遇到过这方面的麻烦,但这个特别的项目很奇怪。

首先,项目名称为Site。课程SiteContext继承DbContext

当我运行Enable-Migrations时,即使是显式的,程序包管理器控制台也会返回错误:

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,通过它的对象访问数据库等等。只有Enable-Migrations命令找不到它。除此之外,Entity的代码优先功能正常运行。

任何想法可能会发生什么?我把它搞砸了?

(Entity Framework 6.0.2 /网页3.1.1)

2 个答案:

答案 0 :(得分:2)

ASP.NET网页站点是使用“网站”项目类型构建的。此项目类型不支持实体框架迁移。如果要将代码优先迁移与ASP.NET网页站点一起使用,则需要将数据访问代码开发为单独的类库。该项目类型确实支持EF迁移。我在这里写了博客:http://www.mikesdotnetting.com/Article/217/Code-First-Migrations-With-ASP.NET-Web-Pages-Sites

答案 1 :(得分:0)

使用-ProjectName和Specify Site,而不是-ContextType。

编辑:首先,尝试-ContextTypeName。我必须假设你没有。