所以我用这样的用户和角色播种我的数据库。
public static void SeedUsers(this ModelBuilder modelBuilder)
{
var roles = new[]
{
new Role
{
Id = new Guid("5127599a-e956-4f5e-9385-1b8c6a74e4f1"),
RoleName = "Customer"
},
new Role
{
Id = new Guid("8634c476-20fa-4391-b8f7-8713abf61af0"),
RoleName = "Admin"
}
};
// customer password
byte[] customerPasswordHash = null;
byte[] customerPasswordSalt = null;
HashPassword("asd123", out customerPasswordHash, out customerPasswordSalt);
// admin password
byte[] adminPasswordHash = null;
byte[] adminPasswordSalt = null;
HashPassword("asd123", out adminPasswordHash, out adminPasswordSalt);
var users = new[]
{
new Users()
{
Id = new Guid("3b86f5a2-1978-46e3-a0b6-edbb6b558efc"),
FirstName = "John",
LastName = "Doe",
DepositedCash = 10000,
Email = "john@doe.com",
RoleId = roles[0].Id,
PasswordHash = customerPasswordHash,
PasswordSalt = customerPasswordSalt
},
new Users()
{
Id = new Guid("c643b944-53d9-4a0c-9922-3486558b9129"),
FirstName = "Admin",
LastName = "Admin",
DepositedCash = 10000,
Email = "admin@admin.com",
RoleId = roles[1].Id,
PasswordHash = adminPasswordHash,
PasswordSalt = adminPasswordSalt
}
};
modelBuilder.Entity<Role>()
.HasData(roles);
modelBuilder.Entity<Users>()
.HasData(users);
}
我正在创建迁移并更新数据库。到目前为止,一切都很好。
之后,当我创建另一个测试迁移时,不更改任何内容,它会创建一个具有相同数据的 UpdateData 方法。一切Up和Down方法都是一样的。
为什么它在没有任何变化的情况下更新用户?我错过了什么?
慕容森
www说
随时随地看视频慕课网APP
相关分类