Home > Database > Mysql Tutorial > Can LINQ Perform Direct SQL Updates Without Selecting Data First?

Can LINQ Perform Direct SQL Updates Without Selecting Data First?

Patricia Arquette
Release: 2024-12-25 05:26:17
Original
922 people have browsed it

Can LINQ Perform Direct SQL Updates Without Selecting Data First?

Direct Updates with LINQ without Select

When dealing directly with SQL, you can generate update commands with conditionals without running a select statement. In LINQ, the common pattern involves selecting entities, modifying them, and submitting the changes. However, is it possible to perform a direct update using LINQ and deferred execution without transmitting data to the client?

The provided LINQ query attempts to perform a direct update, but it includes a select clause. While LINQ has all the information needed to generate an update command, there is no "set" keyword equivalent in LINQ.

Solution:

To create direct update statements using LINQ-to-SQL:

  1. Create an object and set its key properties:
Foo foo = new Foo { FooId = fooId };
Copy after login
  1. Attach the object to the context:
context.Foos.Attach(foo);
Copy after login
  1. Set the properties you want to update:
foo.Name = "test";
Copy after login
  1. Submit the changes:
context.SubmitChanges();
Copy after login

Note:

  • Ensure that the UpdateCheck property for all properties in your Dbml is set to "Never."
  • To set a property to null, initialize the object with a non-null value (e.g., Name="###").
  • To check for a timestamp while updating, set the UpdateCheck property of the Modified property in your Dbml to "Always."

The above is the detailed content of Can LINQ Perform Direct SQL Updates Without Selecting Data First?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template