1)如果我想称它为 User 而不是 ApplicationUser 怎么办?
您可以更改为您想要的任何名称,只需确保将 ApplicationUser 替换为该名称即可。
2)也许我想添加一个导航属性,这样我就可以建立
与我的其他模特的关系?
如果你有一个类调用Address,你想添加addressId作为外键,见下:
public class Address
{
public int Id { get; set; }
public string Street { get; set; }
}
public class User : IdentityUser
{
public string HomeTown { get; set; }
public DateTime? BirthDate { get; set; }
public int AddressId { get; set; }
[ForeignKey("AddressId")]
public virtual Address Address { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<User>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
public DbSet<Address> Addresses { get; set; }
}
3)另外,当我查看表格时,名称是 AspNetUsers 而不是
应用程序用户。
ASP.NET 身份继承自 ASP.NET 会员系统。当您注册新用户时
使用默认模板,AspNetUsers 和 AspNetUserRoles 等。这些表是默认创建的。
您可以通过修改 IdentityModel.cs 来修改这些表名。更多详情请查看以下链接:
How can I change the table names when using Visual Studio 2013 ASP.NET Identity?
4)如果我想使用自己的上下文怎么办?
您可以创建自己的 DBContex,MVC 5 允许您拥有多个 DBContext,例如 ApplicationDbContext 和 DataDbContext(custom DbContext)。
ApplicationDbContext 通常包含 ASP.NET Membership 数据表。
DataDbContext 通常包含与用户无关的数据表。
public class Blog
{
public int BlogId { get; set; }
public int Title { get; set; }
}
public class MyDbContext : DbContext
{
public MyDbContext()
: base("DefaultConnection")
{
}
public DbSet<Blog> Blogs { get; set; }
}
注意:您可能需要使用 EF 迁移,请在此处查看详细信息:
ASP.Net Identity customizing UserProfile