我看过并且没有看到任何相关内容,大多数信息都与直接扩展身份表有关。
我像这样扩展了应用程序用户:
public class ApplicationUser : IdentityUser<long>
{
//[Key()]
//public long Id { get; set; }
[Required()]
[MaxLength(100)]
public string Password { get; set; }
[Required()]
[MaxLength(100)]
override public string UserName { get; set; }
[Required()]
[MaxLength(50)]
public string FirstName { get; set; }
[Required()]
[MaxLength(50)]
public string LastName { get; set; }
public virtual Organization Organization { get; set; }
}
public class ApplicationRole : IdentityRole<long>
{
}
以及对ApplicationDbContext的其他必要更改(将主键更改为long)。除此之外,它相当标准的标识。我添加了迁移,更新;创建通常的表加上组织表,因为它是一个导航属性。组织本身没有导航属性。请记住,在大多数情况下,我把这些课程作为项目的一部分交给我,并且我正努力在我所获得的范围内工作。 现在,我需要添加几个类,一个作为示例:
public class Event
{
[Key()]
public long Id { get; set; }
[Required()]
[MaxLength(200)]
public string Name { get; set; }
[Index]
public virtual Organization Organization { get; set; }
}
还有一些其他相关课程。因此,在没有现有数据库的标准代码第一个核心2应用程序中,我将创建从DbContext派生的上下文类,而在Identity ApplicationDbContext(默认名称)中派生自IdentityDbContext。
所以在我开始破坏之前,在做这样的事情之前是否有任何顾虑或特殊考虑?
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
public DbSet<Event> Events{ get; set; }
public DbSet<OtherClass> OtherClasses{ get; set; }
}
注意:我确实发现this post似乎正在做我正在谈论的内容,但它适用于MVC 5
答案 0 :(得分:1)
您可以将类添加为属性,即public DbContext<Class> Classes {get;set;}
到ApplicationDbContext类,您将获得数据访问权限。他们不需要相关。如果您需要样品,请告诉我。希望这会有所帮助。