实体框架:Database.ExecuteSqlCommand Method
本文关键字:ExecuteSqlCommand Method Database 框架 实体 | 更新日期: 2023-09-27 18:34:31
所以,我有一个基本的更新语句,我正在我的MVC 4应用程序中运行。我是这样称呼它的(SQL Server 2008 R2,实体框架5.0(:
var requestData = requestInfo.Database.ExecuteSqlCommand("UPDATE TABLE Blah.. ");
该命令成功完成,但有时 requestData 返回 1,有时返回 2。我找不到有关这些返回值含义的任何文档或解释。我看过这里:
http://msdn.microsoft.com/en-us/library/gg679456(v=vs.103(.aspx
但是,它没有给出任何明确的答案。
如果有人可以抛出一个链接来解释此命令的返回值,我将不胜感激。
命令成功完成,但有时请求数据返回 1,有时它返回 2。我找不到任何文档或 解释这些返回值的含义。
ExecuteSqlCommand
将返回受 UPDATE
语句影响的行数。
测试:
//Update ID 2
using (var context = new Test2Context())
{
var items = context.MyTestClasses.Where(x => x.Id == 2).Count();
var rowsAffected = context.Database.ExecuteSqlCommand("UPDATE MyTestClasses SET Name = 'Test2' WHERE Id = 2");
Debug.WriteLine("--First Test--");
Debug.WriteLine("items: {0}", items);
Debug.WriteLine("rowsAffected: {0}", rowsAffected);
}
//Update all
using (var context = new Test2Context())
{
var items = context.MyTestClasses.Count();
var rowsAffected = context.Database.ExecuteSqlCommand("UPDATE MyTestClasses SET Name = 'Updated'");
Debug.WriteLine("--Second Test--");
Debug.WriteLine("items: {0}", items);
Debug.WriteLine("rowsAffected: {0}", rowsAffected);
}
结果:
--First Test--
items: 1
rowsAffected: 1
--Second Test--
items: 3
rowsAffected: 3