小编And*_*ano的帖子

ASP.NET MVC 5在Oracle数据库中存储标识用户

我是开发ASP.NET应用程序的新手,我开始了一个新项目,我正在使用带有ODP和OLAC插件的Oracle DB.我设置了连接字符串,我可以在Server Explorer下看到数据库.

现在我希望Identity用户也可以存储在我的数据库中,但我现在无法找到它们存储的位置.app_data文件夹为空,任何地方都没有.mdf文件,我的连接字符串是Oracle连接字符串; 但是当我设置IdentityDBContext以使用我自己的连接字符串时,我得到一个错误,说"实体类型ApplicationUser不是当前上下文模型的一部分".我正在使用数据库优先方法:

这是我的数据库上下文的自动生成代码:

public partial class ActivoContext : DbContext
{
    public ActivoContext()
        : base("name=ActivoContext")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }
......
Run Code Online (Sandbox Code Playgroud)

这是项目生成的身份代码,我刚刚更改了连接字符串:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("name=ActivoContext", throwIfV1Schema: false)
    {
    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}
Run Code Online (Sandbox Code Playgroud)

web.config文件:

<connectionStrings>
  <add name="ActivoContext" connectionString="metadata=res://*/Activo.csdl|res://*/Activo.ssdl|res://*/Activo.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string=&quot;DATA SOURCE=localhost:1521/xe;PASSWORD=activos;USER ID=ACTIVOS&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

编辑 所以我意识到问题是使用相同的连接字符串有两个不同的上下文.因此,只显示一个而另一个不起作用:自动生成的db-first ActivoContext显示而ApplicationDbContext不显示.我应该如何合并这两个或让它们一起工作?我无法修改DbContext导致其自动生成...

asp.net oracle asp.net-mvc asp.net-identity

3
推荐指数
1
解决办法
4497
查看次数

标签 统计

asp.net ×1

asp.net-identity ×1

asp.net-mvc ×1

oracle ×1