2015-07-21 67 views
1

我想更新LINQ to SQL中的一列。我的查询是这样的: -更新LINQ to SQL的操作

private void UpdateCourse() 
{ 
     OperationDataContext OdContext = new OperationDataContext(); 
     //Get Single course which need to update 
     COURSE objCourse = OdContext.COURSEs.Single(course => course.course_name == "B.Tech"); 
     //Field which will be update 
     objCourse.course_desc = "Bachelor of Technology"; 
     // executes the appropriate commands to implement the changes to the database 
     OdContext.SubmitChanges(); 
} 

我的问题是第一次从符合条件的课程记录它比它更新它。这是正确的方法?或者SP是正确的解决方案。

建议!

+0

这可能会帮助你:http://www.codeproject.com/Articles/358445/Most-efficient-way-to-update-with-LINQ-to-SQL –

回答

1

这并不重要。无论哪种方式将工作。如果你问哪一个更高效,存储过程通常更高效,但上面的更新工作得很好,并且保留了应用程序代码中的所有更新逻辑。

至于什么得到更新,运行SQL分析器,你会看到LINQ如何根据数据库更新语句,并自己衡量选项。

+0

是的,两者都可以正常工作。但是哪一个快速高效呢?假设我在表中有15列,所有都是varchar(max)比LINQ TO SQL首先获取所有列,并且更新意味着2击中DB。哪一个(上面提到的方法或存储过程)是快速和首选的? –

+0

就像我曾经说过的那样,存储过程总是更有效率......问题在于LINQ的效率如何。对于你想要做的事情,为了更新一个记录和许多文本字段,存储过程总是会更快,但是LINQ读取/更新不应该是低效的...... –