在我的 EF 迁移中执行 sql 查询
Perform sql query inside my EF Migration
我有以下 EF Code First 模型:
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public List<Role> Roles { get; set; }
}
public class Role
{
public string RoleName { get; set; }
public string ApplicationName { get; set; }
}
我想添加迁移步骤以将新用户添加到我的数据库
我是这样做的:
public partial class AddUserAccountJohnDoe : DbMigration
{
public override void Up()
{
var userName = "JOHN.DOE";
var password = "Welcome2015";
Sql("insert into Users (UserName, Password) values ('" + userName + "', '" + password + "')");
}
public override void Down()
{
}
}
问题:我不知道如何编写 sql 语法来为添加的用户添加 Roles
。
谢谢。
编辑
以下是我的数据库中已有的内容
所以我需要在 table UsersRoles
中为新添加的用户添加一条新记录,但我不知道如何进行。
您需要像这样更新查询。
"declare @uid int;
insert into Users (UserName, Password) values ('" + userName + "', '" + password + "');
select @uid = @@identity;
insert into UsersRoles(UserID, RoleName) values(@uid, 'ADMIN');
insert into UsersRoles(UserID, RoleName) values(@uid, 'USER');"
我有以下 EF Code First 模型:
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public List<Role> Roles { get; set; }
}
public class Role
{
public string RoleName { get; set; }
public string ApplicationName { get; set; }
}
我想添加迁移步骤以将新用户添加到我的数据库
我是这样做的:
public partial class AddUserAccountJohnDoe : DbMigration
{
public override void Up()
{
var userName = "JOHN.DOE";
var password = "Welcome2015";
Sql("insert into Users (UserName, Password) values ('" + userName + "', '" + password + "')");
}
public override void Down()
{
}
}
问题:我不知道如何编写 sql 语法来为添加的用户添加 Roles
。
谢谢。
编辑
以下是我的数据库中已有的内容
所以我需要在 table UsersRoles
中为新添加的用户添加一条新记录,但我不知道如何进行。
您需要像这样更新查询。
"declare @uid int;
insert into Users (UserName, Password) values ('" + userName + "', '" + password + "');
select @uid = @@identity;
insert into UsersRoles(UserID, RoleName) values(@uid, 'ADMIN');
insert into UsersRoles(UserID, RoleName) values(@uid, 'USER');"