Консольное приложение или веб-API для получателей Scatter Gatherer?

Вы можете позволить LINQ-to-SQL генерировать операторы обновления:

Foo foo=new Foo { FooId=fooId }; // create obj and set keys
context.Foos.Attach(foo);
foo.Name="test";
context.SubmitChanges();

В вашем Dbml установите UpdateCheck = «Никогда» для всех свойств.

Это приведет к созданию одиночный оператор обновления, не требуя первого выбора.

Одно предупреждение: если вы хотите установить значение NULL, вам придется инициализировать ваш объект foo другим значением, чтобы Linq мог обнаружить изменение :

Foo foo=new Foo { FooId=fooId, Name="###" };
...
foo.Name=null;

Если вы хотите проверить временную метку при обновлении, вы также можете это сделать:

Foo foo=new Foo { FooId=fooId, Modified=... }; 
// Modified needs to be set to UpdateCheck="Always" in the dbml
0
задан w0051977 19 March 2019 в 14:39
поделиться