我正在尝试学习asp.net,因此我想使用我们在visual studio中获得的默认项目来创建项目> asp.net项目> mvc项目。我将自定义它,并尝试学习asp.net。
我运行它并注册了一个用户,然后我就可以打开数据库资源管理器了。这里有很多列,比如“emailConfirmed”,“TwoFactorAuth”等,我不需要,所以我想删除它们。我从数据库(localDB)中删除了它们,但是我一直收到无效列名“emailConfirmed”等错误。所以我如何确保它们完全脱离了我的项目。我相信他们在某处有一些C#代码,但我不知道在哪个文件中。
我也有一个非常重要的问题,可能是一个非常愚蠢的问题。该默认项目中的代码在哪里告诉我每当我提交表单时,我的数据应该进入相应的数据库列?基本上我的意思是代码说明SqlConnection conn = new SqlConnection(connectionString)
等等的代码。
答案 0 :(得分:0)
离开专栏。如果您不想使用它们,请不要使用它们。没有理由删除它们。 .Net Identity负责数据库调用。您要查看数据库调用和删除列的唯一方法是实现自己的UserStore或创建自己的身份验证系统。
第二个问题:
您应该将新字段添加到/Models/IdentityModels.cs
,如下所示:
public class ApplicationUser : IdentityUser
{
public string Gender { get; set; }
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
return userIdentity;
}
}
从那里,您需要创建一个新的迁移以将更改推送到数据库。你真的不应该直接修改数据库模式(列和表),你应该从Code First那里做到这一点