Rod*_*Rod 11 c# entity-framework
如何将参数添加到以下Entity Framework原始SQL命令?例如,如果我想创建Id一个参数怎么办?
using (var context = new NorthwindDBEntities())
{
context.Database.ExecuteSqlCommand(@"
UPDATE dbo.Customers
SET Name = 'Test' WHERE Id = 1
");
}
Run Code Online (Sandbox Code Playgroud)
Dam*_*ith 24
context.Database.ExecuteSqlCommand(@"UPDATE dbo.Customers
SET Name = 'Test' WHERE Id = @Id", new SqlParameter("Id", 1));
Run Code Online (Sandbox Code Playgroud)
在多个参数的情况下
context.Database.ExecuteSqlCommand(@"UPDATE dbo.Customers
SET Name = 'Test' WHERE Id = @id and Name =@name",
new SqlParameter("Id", id),
new SqlParameter("name", fname));
Run Code Online (Sandbox Code Playgroud)
以下代码应该适用于这种情况:
using (var context = new NorthwindDBEntities())
{
context.Database.ExecuteSqlCommand(@"
UPDATE dbo.Customers
SET Name = 'Test' WHERE Id = {0}
", 1);
}
Run Code Online (Sandbox Code Playgroud)
您还可以SqlParameter使用@id:
using (var context = new NorthwindDBEntities())
{
context.Database.ExecuteSqlCommand(@"
UPDATE dbo.Customers
SET Name = 'Test' WHERE Id = @id
", new SqlParameter("id", 1));
}
Run Code Online (Sandbox Code Playgroud)