首页 > 数据库 > mysql教程 > LINQ 可以在不先选择数据的情况下执行直接 SQL 更新吗?

LINQ 可以在不先选择数据的情况下执行直接 SQL 更新吗?

Patricia Arquette
发布: 2024-12-25 05:26:17
原创
964 人浏览过

Can LINQ Perform Direct SQL Updates Without Selecting Data First?

使用 LINQ 直接更新而不使用 Select

直接处理 SQL 时,您可以使用条件生成更新命令,而无需运行 select 语句。在 LINQ 中,常见模式涉及选择实体、修改它们以及提交更改。但是,是否可以使用 LINQ 和延迟执行执行直接更新而不将数据传输到客户端?

提供的 LINQ 查询尝试执行直接更新,但它包含 select 子句。虽然 LINQ 具有生成更新命令所需的所有信息,但 LINQ 中没有等效的“set”关键字。

解决方案:

使用以下命令创建直接更新语句LINQ-to-SQL:

  1. 创建对象并设置其键属性:
Foo foo = new Foo { FooId = fooId };
登录后复制
  1. 将对象附加到上下文:
context.Foos.Attach(foo);
登录后复制
  1. 设置要更新的属性:
foo.Name = "test";
登录后复制
  1. 提交更改:
context.SubmitChanges();
登录后复制

注意:

  • 确保 Dbml 中所有属性的 UpdateCheck 属性设置为“从不”。
  • 要将属性设置为 null,请使用非 null 值初始化对象(例如, Name="###")。
  • 要在更新时检查时间戳,请将 Dbml 中 Modified 属性的 UpdateCheck 属性设置为“始终”。

以上是LINQ 可以在不先选择数据的情况下执行直接 SQL 更新吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板