zoukankan      html  css  js  c++  java
  • 学习asp.net Identity 心得体会(连接oracle)

    asp.net Identity具体功能暂不在此细说,下面主要介绍几点连接oracle注意的事项,

    1.首先下载连接oracle驱动Oracle.ManagedDataAccess.dll和Oracle.ManagedDataAccess.EntityFramework.dll这个是连接oracle的基础。

    2.在Nuget下安装Microsoft.AspNet.Identity.EntityFramework.dll和Microsoft.AspNet.Identity.Core.dll 和Microsoft.AspNet.Identity.Owin.dll。

    3.更新Microsoft.AspNet.Identity.EntityFramework下的连接数据的modelBuilder.HasDefaultSchema("HB");,Microsoft.AspNet.Identity.EntityFramework默认情况是SQLserver下“dbo”,所以要更改其Schema为你用的oracle的用户名。

    备注,

    
    
     public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
        {
            public ApplicationDbContext()
                : base("DefaultConnection", throwIfV1Schema: false)
            {
            }
    
            public static ApplicationDbContext Create()
            {
                return new ApplicationDbContext();
            }
        }
    

      前面查资料看到有的文章下把

    ApplicationDbContext.cs下改成
     public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
        {
            public ApplicationDbContext()
                : base("DefaultConnection", throwIfV1Schema: false)
            {
            }
    
            public static ApplicationDbContext Create()
            {
                return new ApplicationDbContext();
            }
    
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                modelBuilder.HasDefaultSchema("HB");
                modelBuilder.Entity<IdentityUserLogin>().HasKey<string>(l => l.UserId);
                // modelBuilder.Entity<IdentityRole>().HasKey<string>(r => r.Id);
                modelBuilder.Entity<IdentityUserRole>().HasKey(r => new { r.RoleId, r.UserId });
            }
        }
    

      改成这样后会报错

    ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB

    这个

    OnModelCreating会继承DbContext下面的方法。没有调用Microsoft.AspNet.Identity.EntityFramework里的,
    所以我解决的办法是把Microsoft.AspNet.Identity.EntityFramework修改,
    修改之后在
    OnModelCreating下加这一行。
    modelBuilder.HasDefaultSchema("HB");然后就可以操作oracle了。
    如有更好asp.net Identity 连接oracle 办法,请告知,谢谢。


  • 相关阅读:
    C#listbox使用方法
    poj 3894 System Engineer (二分图最大匹配--匈牙利算法)
    Java实现 蓝桥杯VIP 算法训练 连接字符串
    Java实现 蓝桥杯VIP 算法训练 连接字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 黑白无常
  • 原文地址:https://www.cnblogs.com/ps903942560/p/5167205.html
Copyright © 2011-2022 走看看