我正在尝试构建3层应用程序模型。
该模型使用Web API作为表示层,业务层使用owin身份进行授权和用户管理,最后是使用实体框架6的数据层。整个事情看起来像这样(每个层都是一个单独的项目)
我有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层相同的数据上下文或相同的连接字符串。
感谢。
答案 0 :(得分:0)
您的所有项目中必须具有相同的连接字符串名称。在Web项目中,在运行时和数据库项目中使用它,以便在设计时使用它。
只需复制所有配置文件中的连接字符串,就可以了。