13

如何将参数添加到以下实体框架原始 SQL 命令?例如,如果我想制作Ida 参数怎么办?

        using (var context = new NorthwindDBEntities())
        {
            context.Database.ExecuteSqlCommand(@"
                UPDATE dbo.Customers 
                SET Name = 'Test' WHERE Id = 1
            ");

        }
4

2 回答 2

27
context.Database.ExecuteSqlCommand(@"UPDATE dbo.Customers 
            SET Name = 'Test' WHERE Id = @Id", new SqlParameter("Id", 1));

在多个参数的情况下

context.Database.ExecuteSqlCommand(@"UPDATE dbo.Customers 
            SET Name = 'Test' WHERE Id = @id and Name =@name", 
               new SqlParameter("Id", id),
               new SqlParameter("name", fname));
于 2013-08-08T02:47:27.087 回答
4

以下代码应该适用于这种情况:

    using (var context = new NorthwindDBEntities())
    {
        context.Database.ExecuteSqlCommand(@"
            UPDATE dbo.Customers 
            SET Name = 'Test' WHERE Id = {0}
        ", 1);
    }

您还可以使用SqlParameter和使用@id:

    using (var context = new NorthwindDBEntities())
    {
        context.Database.ExecuteSqlCommand(@"
            UPDATE dbo.Customers 
            SET Name = 'Test' WHERE Id = @id
        ", new SqlParameter("id", 1));
    }
于 2013-08-08T02:44:53.563 回答