在我的EF Migration中执行sql查询

时间:2015-04-02 10:07:58

标签: entity-framework ef-migrations

我有以下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

感谢。


修改

以下是我在数据库中的内容

enter image description here

enter image description here

所以我需要在表UsersRoles中为新添加的用户添加新记录,但我不知道如何继续。

1 个答案:

答案 0 :(得分:0)

您需要更新此类查询。

"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');"
相关问题