实体框架6 IdentityUser代码第一期

时间:2013-12-18 12:01:17

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

我是EF的新手,所以这给我带来了很多问题。

我偷看了EF附带的IdentityUser的代码,它看起来像这样:

public class IdentityUser : IUser
{
    public IdentityUser();
    public IdentityUser(string userName);

    public virtual ICollection<IdentityUserClaim> Claims { get; }
    public virtual string Id { get; set; }
    public virtual ICollection<IdentityUserLogin> Logins { get; }
    public virtual string PasswordHash { get; set; }
    public virtual ICollection<IdentityUserRole> Roles { get; }
    public virtual string SecurityStamp { get; set; }
    public virtual string UserName { get; set; }
}

我无法改变它,就是这样。 我的问题是我确定(100%)用户应与 IdentityUserLogin 建立一对一的关系,但此模型显示了一个集合......

这导致我无法解决问题,因为我根本无法将其映射到我的数据库。 IdentityUserLogin 模型如下所示:

public class IdentityUserLogin
{
    public IdentityUserLogin();

    public virtual string LoginProvider { get; set; }
    public virtual string ProviderKey { get; set; }
    public virtual IdentityUser User { get; set; }
    public virtual string UserId { get; set; }
}
您可以看到

意味着预期存在多对一关系,但 LoginProvider 是此模型的关键。我尝试将 LoginProvider UserId 映射为关键字,但现在当我尝试登录时,却找不到用户。

当然有人遇到过这个问题并且已经解决了。 如果有的话,你能指出我正确的方向吗?

干杯,

/ r3plica

0 个答案:

没有答案