【问题标题】:Update Operation in LINQ to SQLLINQ to SQL 中的更新操作
【发布时间】:2015-10-10 20:47:14
【问题描述】:

我想更新 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 是正确的解决方案。

建议!

【问题讨论】:

标签: c# sql-server asp.net-mvc entity-framework linq-to-sql


【解决方案1】:

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

至于要更新的​​内容,运行 SQL 分析器,您将看到 LINQ 如何针对数据库制作更新语句,并自行权衡选项。

【讨论】:

  • 是的,两者都可以正常工作。但是哪一个是快速有效的?假设我在表中有 15 列都是 varchar(max),而不是 LINQ TO SQL 首先获取所有列,然后更新意味着 2 次命中 DB。哪一种(上述方式或存储过程)快速且首选?
  • 就像我说过的,存储过程总是更高效......问题是 LINQ 的效率会有多低。对于您正在尝试做的事情,要更新具有许多文本字段的记录,存储过程总是会更快,但 LINQ 读取/更新不应该那么低效......
猜你喜欢
  • 1970-01-01
  • 2010-10-05
  • 1970-01-01
  • 2012-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多