Как я могу сделать свою свободную таблицу API общедоступной? - PullRequest
1 голос
/ 29 января 2020

Я добавил таблицу отношений «многие-многие», используя расширенную IdentityUsers и свою собственную пользовательскую таблицу, Systems

AppUser происходит от IdentityUser

public class AppUser : IdentityUser
{
    public AppUser() : base()
    {
        MySystems = new HashSet<MySystem>();
    }
    public virtual ICollection<MySystem> MySystems { get; set; }
}

Моя пользовательская системная таблица просто автономна:

[Table("MySystem")]
public class MySystem
{
    [Key]
    public int Id { get; set; }
    public string Name { get; set; }

    public MySystem()
    {
        AppUsers = new HashSet<AppUser>();
    }

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

И в контексте:

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<AppUser>()
            .HasMany(appUser => appUser.MySystems)
            .WithMany(MySystem => MySystem.AppUsers)
            .Map(userMySystem =>
            {
                userMySystem.MapLeftKey("AppUserId");
                userMySystem.MapRightKey("MySystemId");
                userMySystem.ToTable("AspNetUserMySystems");
            });
    }

Это отлично сработало, создало таблицы, и я могу получить все свои недавно созданные MySystem записи, использующие, например,

_context.MySystem.Find(1);

, но теперь я не могу получить доступ к также созданным AspNetUserMySystems записям, используя, например,

_context.(table not available!)

Как я могу указать созданную таблицу как общедоступную доступны

...