我使用扩展的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!)
如何指定创建的表可公开使用?