使用另一个对象扩展ASP.NET MVC 5标识

时间:2013-12-27 06:23:25

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

我目前正在使用Fluent API,在其中找不到有关使用其他对象扩展Identity模型的许多资源。

这里我有一个名为ApplicationUser的对象:

public class ApplicationUser : IdentityUser
{
    public virtual Staff Staff { get; set; }

    public int StaffId { get; set; }
}

我想将它映射到我当前的Staff对象:

public class Staff
{
    public int StaffId { get; set; }

    public string DisplayName { get; set; }

    public string FirstName { get; set; }

    public string LastName { get; set; }

    public UserTitleEnum Title { get; set; }

    public string Phone { get; set; }

    public string Email { get; set; }

    public virtual ICollection<Job> Jobs { get; set; }

    public virtual ICollection<LineItem> LineItems { get; set; }

    //Add ApplicationUser here?
}

我有一些限制,因为我试图通过使用PCL配置文件78来重用我的模型。因此,我不能包含EF库并且必须使用Fluent API。

有更简单的方法可以做到这一点,还是这是正确的方法?有关如何“扩展”或“链接”ApplicationUser对象的任何信息都将非常感激。

1 个答案:

答案 0 :(得分:4)

你的DbContext类中的

重写OnModelCreating(DbModelBuilder modelBuilder)

modelBuilder.Entity<Staff>().ToTable("Staff");
modelBuilder.Entity<ApplicationUser>().HasRequired(x => x.Staff);

我很抱歉我的英语很差,希望这有用