我是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; }
}
我不确定要展示什么,如果有的话。如果我错过了什么,请告诉我并发布我所拥有的内容。
答案 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;}
}