Гибкое обновление в Linq To Sql - PullRequest
       12

Гибкое обновление в Linq To Sql

1 голос
/ 26 августа 2010

Используя Linq To Sql / Entities, у нас достаточно гибкости для написания запросов на выборку

А как насчет запросов на обновление?

Что делать, если мне нужно сделать что-то простое:

UPDATE suppliers<br> SET supplier_name = (SELECT customers.name FROM customers WHERE customers.customer_id = suppliers.supplier_id)

Используя Linq to Sql, мне нужно выполнить много запросов на обновление, чтобы закончить. Сначала мне нужно выбрать объект, который мне нужно обновить, а затем мне нужно обновить каждый из них, швы должны быть очень медленными.

Есть ли способ сделать это проще, или в этом случае может помочь только отображение процедур хранилища?

Ответы [ 2 ]

1 голос
/ 27 августа 2010

Возможно, вы захотите проверить PLINQO . В LINQ to SQL добавлены пакетные обновления / удаления, а также многое другое.

0 голосов
/ 26 августа 2010

Для таких пакетных операций я бы пошел прямо к SQL. В LINQ to SQL вы можете использовать для этого DataContext.ExecuteCommand () . Например:

db.ExecuteCommand("UPDATE suppliers SET supplier_name = (SELECT customers.name FROM customers WHERE customers.customer_id = suppliers.supplier_id)");

Если вы считаете, что встроенный SQL - это зло, посмотрите на этот пост Терри Ани о включении пакетного обновления и удаления в LINQ to SQL. У меня нет опыта с этим, но выглядит интересно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...