错误:Entity Framework使用默认的DbConfiguration实例

时间:2018-03-19 09:12:26

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

我有一个带有此ApplicationContext.cs的DAL项目

DLL-s

但是当我在其他项目中实例时

[DbConfigurationType(typeof(MyConfiguration))]
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
  public ApplicationDbContext() : base("DefaultConnection", throwIfV1Schema: false) { }

...
}

我收到此错误:

  

实体框架使用默认的DbConfiguration实例   在“我的配置”之前类型被发现。一个例子   &#39; MyConfiguration&#39;必须在使用any之前在应用程序启动时设置   实体框架功能或必须在应用程序中注册   配置文件。请参阅http://go.microsoft.com/fwlink/?LinkId=260883   更多信息。

我试图解决它更新web.config文件,在节点中插入codeConfigurationType,但是我得到了同样的错误。

任何人都可以帮助我吗?

更新

我的自定义类是:

using (var databaseContext = new ApplicationDbContext())
{ }

2 个答案:

答案 0 :(得分:0)

我从错误中理解你应该在ApplicationDbContext类的应用程序启动时创建Startup类的实例
启动课程

app.CreatePerOwinContext(ApplicationDbContext.Create);

ApplicationDbContext类

    public ApplicationDbContext()
        : base("DefaultConnection", throwIfV1Schema: false)
    {
        this.Database.Create();
    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }

另外,如果你可以分享完整的例子,那就更好了。

答案 1 :(得分:0)

阅读本文移动DbConfiguration 后: https://msdn.microsoft.com/en-us/data/jj680699

我解决了改变我的Context类的问题,如下所示:

require(sqldf)

myList<- data.frame(v=c("Bob", "Mary", "Bob", "Bob", "Joe"))
sqldf("SELECT v,count(1) FROM myList GROUP BY v")