entity framework:Database.ExecuteSqlCommand方法

所以,我有一个基本的更新声明,我在我的MVC 4应用程序中运行。 我这样称呼它(SQL Server 2008 R2,Entity Framework 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

但是,它没有给出任何明确的答案。

如果有人可以链接到解释此命令返回值的内容,我将非常感激。

命令成功完成,但有时requestData返回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