Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / оператор merge в linq to sql / 8 сообщений из 8, страница 1 из 1
24.01.2019, 16:18
    #39764490
yura1985
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оператор merge в linq to sql
Подскажите как написать marge в linq to sql.

Например такой:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
MERGE Ships AS target  -- таблица, которая будет меняться
USING (SELECT year(MIN(date)), ship, ship
       FROM outcomes O JOIN battles B ON O.battle= B.name 
               JOIN Classes C ON C.class=O.ship GROUP BY ship
      ) AS source (min_year,ship, class)  -- источник данных, который мы рассмотрели выше
ON (target.name = source.ship)  -- условие связи между источником и изменяемой таблицей
WHEN MATCHED AND target.launched IS NULL -- если головной корабль есть в таблице Ships 
           -- с неизвестным годом
    THEN UPDATE SET target.launched = source.min_year -- обновление
WHEN NOT MATCHED  -- если головного корабля нет в таблице Ships 
    THEN INSERT VALUES(source.ship, source.class, source.min_year) -- вставка
OUTPUT $action, inserted.*, deleted.*; -- можно вывести измененные строки
...
Рейтинг: 0 / 0
24.01.2019, 16:58
    #39764536
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оператор merge в linq to sql
yura1985,

https://stackoverflow.com/questions/36260646/how-to-marge-child-data-created-by-using-group-by-in-linq
База не поддерживает merge что ли?
...
Рейтинг: 0 / 0
24.01.2019, 17:07
    #39764546
yura1985
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оператор merge в linq to sql
Поддерживает.
Как sql код переделать в linq?

Я с примера это не совсем понял.
...
Рейтинг: 0 / 0
24.01.2019, 17:13
    #39764552
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оператор merge в linq to sql
...
Рейтинг: 0 / 0
24.01.2019, 17:57
    #39764580
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оператор merge в linq to sql
Никак. LINQ он для чтения данных - менять их как MERGE он не умеет.
...
Рейтинг: 0 / 0
24.01.2019, 18:42
    #39764609
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оператор merge в linq to sql
yura1985Поддерживает.
Как sql код переделать в linq?

Я с примера это не совсем понял.ну дак в базе лучше если поддерживает.
...
Рейтинг: 0 / 0
28.01.2019, 19:03
    #39766128
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оператор merge в linq to sql
fkthatНикак. LINQ он для чтения данных - менять их как MERGE он не умеет.

Отчего ж. Можно написать - выглядеть будет как - Linq меняет данные
...
Рейтинг: 0 / 0
29.01.2019, 07:19
    #39766269
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оператор merge в linq to sql
Агнец за бортом,
"Сомневаюсь что будет. А если будет, то сомневаюсь, что это будет архитектурно красиво".
Пусть linq знает свое место и занимается коллекциями а не базами.
Имхо.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / оператор merge в linq to sql / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]