我想建立一个有教育目的的音乐网站/。我想使用ASP.NET Identity User,但我还想添加一些额外的属性。我先做代码。所以我创建了一个Model层,我正在扩展身份用户:
public class User : IdentityUser
{
//Some extra data that I want to add goes here
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<User> manager, string authenticationType)
{
var userIdentity = await manager.CreateIdentityAsync(this, authenticationType);
return userIdentity;
}
}
到目前为止一切顺利。接下来,我使用Repository和Unit Of Work模式实现了我的数据层,其中最重要的是我的服务层/ MVC项目/。我跑了它,我注册了一个用户,我被重定向为该用户。我虽然一切都还好,所以我决定检查我的数据库。我看到了ASP.NET提供的表,但它们都是空的。我试图注册同一个用户,我注意到有一个用户已经收到了这封电子邮件。
我检查了连接字符串,一切都很好。我的想法已经不多了......
我在某处完全错了,但我能找到它。如果有人想看代码,我会附上我的项目。
答案 0 :(得分:0)
所以会发生什么,是的,它被插入到数据库中。但是,数据表未刷新。我用来解决这个问题的是这样的:
private void showData()
{
string conString = @"your;connection;string;"
SqlDataAdapter sda;
DataTable dt;
SqlConnection con = new SqlConnection(conString);
sda = new SqlDataAdapter("SELECT * FROM yourTableName", con);
dt = new DataTable();
sda.Fill(dt);
dataGridView1.DataSource = dt;
}
然后在加载时或单击刷新按钮时运行showData()。
在设计我自己的应用程序时遇到了同样的问题。希望这会有所帮助。
答案 1 :(得分:0)
好的,所以我发现整个画面出了什么问题。在模型中有一个ApplicationDbContext。
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DatabaseConnection", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
默认情况下,在DefaultConnection上设置连接,因此它不能按我的意思工作。