最好的方式来存储ASP.. NET 4.5 MVC用户数据
本文关键字:MVC 用户 数据 用户数 NET ASP 方式 存储 | 更新日期: 2023-09-27 18:04:50
我目前正在使用ASP创建一个web应用程序。. NET 4.5 MVC, MySQL支持我的模型。
在第一次登录时(以及之后他们想要的任何时候),用户输入web应用程序所需的持久信息(名称,DoB,地址等)。需要几个到几十个设置,我听说最佳实践表明,即使超过表中的10列,也需要重新评估您的范式。
假设理论上我可以把设置分成不同的类型。是否有任何性能/组织/可用性等?为每个不同的部分创建不同的表是否有好处?
后续问题:持久用户数据应该存储在与用户表相同的表中,还是设置应该有自己的表?我注意到有一个存储一些基本信息的AspNetUsers表。我可以用它来存储设置吗?
谢谢!
你想在Identity 2框架上扩展:
http://typecastexception.com/post/2014/06/22/ASPNET-Identity-20-Customizing-Users-and-Roles.aspx在我看来,打破不同表上的所有用户信息没有任何好处。只有当你有一个1:N的关系时才这样做,但是如果你使用一个有很多列的表,这是没有问题的。
如果你使用实体框架和Asp。Net Identity,可以用自定义信息扩展AspNetUsers表。只需创建一个从IdentityUser:
扩展的类public class User : IdentityUser
{
[MaxLength(50)]
[Required]
public string MyAdditionalData { get; set; }
[Required]
public int Age { get; set; }
}
然后在Context类中:
class YourAppContext : IdentityDbContext<User>
{
public YourAppContext()
: base("YourAppContext")
{
}
}
使用迁移,实体框架能够根据请求添加/修改列,基于这个类。
问候