如何向实体框架原始sql命令添加参数

本文关键字:sql 命令 添加 参数 原始 框架 实体 | 更新日期: 2023-09-27 18:26:53

如何在以下实体框架原始SQL命令中添加参数?例如,如果我想让Id成为一个参数,该怎么办?

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

如何向实体框架原始sql命令添加参数

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));

以下代码应该适用于此场景:

    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));
    }