在注册时从AspNetUser表更新自定义表

时间:2015-11-14 03:20:55

标签: c# entity-framework asp.net-mvc-5 asp.net-identity

我是MVC新手。所以,如果我正在做一些反对最佳实践的事情,请善待我,或者我只是完全错了。 我在C#中使用ASP.Net MVC 5 我开始使用EF的代码优先方法。在单独的项目中设置模型并启用迁移后,使用标准表创建了我的数据库,使用了Identities框架和一些自定义表。

这是我遇到问题的地方。当新用户注册帐户时,将填充AspNetUser表,现在我想使用AspNetUserId更新UserInfo表中的列。 我尝试使用数据注释将其设置为外键,但是当新用户注册帐户时,UserInfo表不会使用AspNetUserId进行更新。我假设我没有正确使用注释。无论哪种方式。实现结果的最佳方法是什么?

编码示例确实会有所帮助。

这是自定义模型。

public class UserInfo
{
    [Key]
    public int Id { get; set; }

    [Required]
    [StringLength(128)]

    public string AspNetUserId { get; set; }

    public int EmployeeNumber { get; set; }

    public int GroupId { get; set; }

}

我不确定要展示什么,如果有的话。如果我错过了什么,请告诉我并发布我所拥有的内容。

1 个答案:

答案 0 :(得分:0)

如果您想在UserInfo实体与身份ApplicationUser之间建立一对一地图,只需改变您的课程:

public class UserInfo
{
    // other codes here

    public string UserID {get;set;}
    public virtual ApplicationUser User {get;set;}    
}

public class ApplicationUser: IdentityUser
{
    // other properties

    public int InfoID {get;set;}
    public virtual UserInfo Info {get;set;}
}