当前位置:  开发笔记 > 编程语言 > 正文

正确使用Microsoft.AspNet.Identity 2.0

如何解决《正确使用Microsoft.AspNet.Identity2.0》经验,为你挑选了0个好方法。

我迷失了使用MVC 5模板附带的身份验证方法.

我需要将CreateBy用户包含在一个名为client的实体中,所以经过一些研究我得出了这个:

模型:

[Table("Clients")]
public partial class Client
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    public virtual int UserCreated_Id { get; set; }

    [ForeignKey("UserCreated_Id")]
    public virtual ApplicationUser UserCreated { get; set; }
}

控制器方法:

client.UserCreated_Id = User.Identity.GetUserId();

但我必须改变身份模型中的几乎所有内容:

public class ApplicationUser : IdentityUser

public class ApplicationUser : IdentityUser

因此,差不多有30个变化.

但现在我有2个DbContext:

身份背景:

public class ApplicationDbContext : IdentityDbContext
{
    public ApplicationDbContext() : base("IPDB") {}

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}

我的应用背景:

public class MyDbContext : DbContext
{
    public MyDbContext() : base("IPDB")
    {

        // Tells Entity Framework that we will handle the creation of the database manually for all the projects in the solution
        Database.SetInitializer(null);
    }

    public DbSet Clients { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        // ANOTHER CHANGE I HAD TO MADE TO BE ABLE TO SCAFFOLDING
        modelBuilder.Entity().HasKey(l => l.UserId);
        modelBuilder.Entity().HasKey(r => r.Id);
        modelBuilder.Entity().HasKey(r => new { r.RoleId, r.UserId });
    }
}

我现在的问题是:

我需要2个DbContext吗?

我是否正确地将用户与客户端实体相关联?

我需要创建一个包含所有用户和附加信息的列表,我是否会从2个DbContext中读取信息?

拜托,我需要一些明确的指导,因为我现在非常困惑,我真的很想建立优秀的代码,我认为情况并非如此.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有