Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 身份数据上下文中的实体框架和OWS_C#_Entity Framework_Asp.net Web Api_Owin - Fatal编程技术网

C# 身份数据上下文中的实体框架和OWS

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

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

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

我有
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作为连接字符串的名称,因此它假定它是连接字符串(即它的路径)