实体框架和Owin Identity数据上下文

时间:2016-02-15 11:20:33

标签: c# entity-framework asp.net-web-api owin

我正在尝试构建3层应用程序模型。

该模型使用Web API作为表示层,业务层使用owin身份进行授权和用户管理,最后是使用实体框架6的数据层。整个事情看起来像这样(每个层都是一个单独的项目)

enter image description here

我有ProductEntitiesDataContext,我尝试做的是对数据层和DataContext使用相同的Owin identity。或者至少对它们使用相同的连接字符串。

然而,当我将ProductEntitiesDataContext传递给Owin类时,我得到例外说法:

No connection string named 'ProductEntities' could be found in the application config file.

尝试使用相同的连接字符串我尝试这样做:

 public class ApplicationDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, Guid, ApplicationUserLogin, ApplicationUserRole, ApplicationUserClaim>
{
    public ApplicationDbContext()
        : base("ProductEntities")
    {
    }
    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}

但它只是创建了新的数据库&#34; ProductEntities&#34;作为名称

请建议我如何重复使用与上面2层相同的数据上下文或相同的连接字符串。

感谢。

1 个答案:

答案 0 :(得分:0)

您的所有项目中必须具有相同的连接字符串名称。在Web项目中,在运行时和数据库项目中使用它,以便在设计时使用它。

只需复制所有配置文件中的连接字符串,就可以了。