如何在ASP.NET IDENTITY中添加自定义表?

时间:2015-08-11 12:19:32

标签: c# asp.net webforms asp.net-identity

我在我的网络表单应用程序中使用ASP.NET标识。 以下是我目前的身份表:

当前身份表

 - Role
 - User
 - UserClaim
 - UserLogin
 - UserRole

我需要添加一个新表来存储其他信息。

新表:UserLogs

新表格中的字段:

  • UserLogID(PK)
  • UserID(FK)
  • 的IPAddress
  • LoginDate

如何添加此自定义表?我知道如何在现有表格中添加自定义字段,但我不知道如何实现这一目标。

感谢您为解决我的问题所做的努力。

2 个答案:

答案 0 :(得分:10)

public class ApplicationUser : IdentityUser
{

    public virtual ICollection<UserLog> UserLogs { get; set; }

}

public class UserLog
{
    [Key]
    public Guid UserLogID { get; set; }

    public string IPAD { get; set; }
    public DateTime LoginDate { get; set; }
    public string UserId { get; set; }

    [ForeignKey("UserId")]
    public virtual ApplicationUser User { get; set; }
}

public System.Data.Entity.DbSet<UserLog> UserLog { get; set; }

答案 1 :(得分:2)

首先,我建议您先了解一下代码优先实体框架,因为当您第一次创建新MVC5应用程序时,就会创建这些关于用户的表格

Here如果您想通过EntityFramework使用代码优先数据库创建,您可以找到它的实现方式。

在您了解了一些关于它的核心内容后,您可以转到Models文件夹上的项目,直接转到&gt; AccountModel.cs

你有一个扩展DbContext的类,里面包含构造函数,它可以访问将要使用数据库的连接字符串。

如果你在阅读代码时过于懒惰,那么很重要的东西:

DbSet意味着dbset中的模型即将创建到表中。类中的变量是即将创建的列。但是如果你想要外键和东西,你肯定要阅读代码优先类型。

祝你好运!