C# 身份数据上下文中的实体框架和OWS
我正在尝试构建三层应用程序模型 该模型使用Web API作为表示层,业务层使用owin标识进行授权和用户管理,最后是数据层,使用实体框架6。整个事情看起来是这样的(每一层都是一个单独的项目) 我有C# 身份数据上下文中的实体框架和OWS,c#,entity-framework,asp.net-web-api,owin,C#,Entity Framework,Asp.net Web Api,Owin,我正在尝试构建三层应用程序模型 该模型使用Web API作为表示层,业务层使用owin标识进行授权和用户管理,最后是数据层,使用实体框架6。整个事情看起来是这样的(每一层都是一个单独的项目) 我有ProductEntitysDataContext,我尝试做的是对数据层和Owin标识使用相同的DataContext。或者至少对它们使用相同的连接字符串 然而,当我将ProductEntitysDataContext传递给Owin类时,我得到一个异常消息,它说: No connection stri
ProductEntitysDataContext
,我尝试做的是对数据层和Owin标识使用相同的DataContext
。或者至少对它们使用相同的连接字符串
然而,当我将ProductEntitysDataContext传递给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();
}
}
public类ApplicationDbContext:IdentityDbContext
{
公共应用程序上下文()
:base(“产品实体”)
{
}
公共静态应用程序上下文创建()
{
返回新的ApplicationDbContext();
}
}
但它只是创建了新的数据库“ProductEntities”作为名称
请建议如何在上面的2层中重用相同的数据上下文或相同的连接字符串
谢谢。您在所有项目中必须具有相同的连接字符串名称。在web项目中用于运行时,在数据库项目中用于设计时
只需在所有配置文件中复制连接字符串,即可正常工作。您必须在新项目的app.config中包含该连接字符串,或将其传递给他人。由于找不到ProductEntities作为连接字符串的名称,因此它假定它是连接字符串(即它的路径)