所以我创建了一个用于保存用户设置的类,并将其保存为JSON字符串,这样我就可以随时修改它,而无需在每次添加一个设置时进行迁移。
无论如何一切都工作得很好,直到,异常,我进一步研究它,我发现它是线程安全的东西,但我真的不明白它们是什么意思,我的简单函数如何访问实体身份dbcontext,不是线程安全吗?
public static AppUserSettings GetUserSettings(this IIdentity identity)
{
var user = IdentityDbContext.Users.Find(identity.GetUserId());
return user.SettingsClass != null ? JsonConvert.DeserializeObject<AppUserSettings>(user.SettingsClass) : new AppUserSettings();
}
和妹妹的功能:
public static void SetUserSettings(this IIdentity identity, AppUserSettings toSaveUserSettings)
{
var user = IdentityDbContext.Users.Find(identity.GetUserId());
user.SettingsClass = JsonConvert.SerializeObject(toSaveUserSettings);
DatabaseUtil.SaveChanges(IdentityDbContext);
}
感谢任何帮助,如果需要,我可以附加其他类和/或片段,但我觉得它主要是身份/实体问题。