簡體   English   中英

EF代碼首先與ASP.NET身份表建立多對多關系

[英]EF Code First Many-to-Many Relationship with ASP.NET Identity Table at one Side

我試圖在一側使用ASP.NET身份表使用代碼優先EF來實現多對多關系。 但是,聯接表不是在數據庫中生成的。 我想念什么? 這是我的模型類:

AppUser.cs:

public class AppUser : IdentityUser
{
    public AppUser()
    {
        Notes = new HashSet<Note>();
    }

    public DateTime? LastSuccessfulLoginDate { get; set; }

    public virtual ICollection<Note> Notes { get; set; }
}

Note.cs:

public class Note
{
    public Note() {

        NoteAssignedToUsers = new HashSet<AppUser>();
    }

    [Key]
    public int NoteID { get; set; }

    [Required]
    public int FileID { get; set; }

    [Required]
    public string Content { get; set; }

    [Required]
    public Importance? Importance { get; set; }

    [Required]
    [DisplayFormat(DataFormatString = "{0:dd.MM.yyyy HH.mm}")]
    public DateTime AddedOn { get; set; }

    [Required]
    public string CreatorID { get; set; }

    [ForeignKey("FileID")]
    public virtual OAFile OAFile { get; set; }

    [ForeignKey("CreatorID")]
    public virtual AppUser CreatedBy { get; set; }

    public virtual ICollection<AppUser> NoteAssignedToUsers { get; set; }
}

在您的dbcontext中,您可以配置:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{

    modelBuilder.Entity<Note>()
                .HasMany<AppUser>(s => s.NoteAssignedToUsers )
                .WithMany(c => c.Notes)
                .Map(cs =>
                        {
                            cs.MapLeftKey("AppUserId");
                            cs.MapRightKey("NoteId");
                            cs.ToTable("AppUsersNotes");
                        });

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM