无法确定关联1-1关系的主要结束

时间:2015-07-29 04:26:56

标签: entity-framework asp.net-mvc-5 runtime-error asp.net-identity

我在使用扩展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或数据注释。

为什么会出现这种错误?

提前致谢。

0 个答案:

没有答案