我是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; }
}
如果有的话,我不确定还能展示什么。如果我遗漏了什么,请告诉我,我会把我的东西发出去。
如果您想要UserInfo
实体和Identity的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;}
}