我在使用扩展applicationuser类和MyUserInfo类的AspNetUsers表之间首先使用代码尝试创建0..1到0..1的关系时遇到问题。关系的本质是用户可以拥有一个MyUserInfo。
我的模特:
public class MyUserInfo
{
[Key]
public int MyUserInfoId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string UserId { get; set; }
[ForeignKey("UserId")]
public virtual ApplicationUser User { get; set; }
}
ApplicationUser类:
public class ApplicationUser : IdentityUser
{
public int? MyUserInfoId { get; set; }
[ForeignKey("MyUserInfoId")]
public virtual MyUserInfo MyUserInfo { get; set; }
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
逻辑上它应该有效。有两个外键。 ApplicationUser 类(AspNetUser表)中的一个外键和 MyUserInfo 类中的一个外键。
不知何故,我在添加迁移时遇到了这个错误:
无法确定之间关联的主要结束 类型&#39; IdentityDemoByThanh.Models.MyUserInfo&#39;和 &#39; IdentityDemoByThanh.Models.ApplicationUser&#39 ;.主要目的 必须使用以下任一方式显式配置此关联 关系流畅的API或数据注释。
为什么会出现这种错误?
提前致谢。