在我的 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');"