Здравствуйте, snaphold, Вы писали:
S>Привет
S>есть таблица в базе типа А и есть массив объектов типа Б. S>Как оптимальней сделать джойн по 3 полям между 2 коллекциями?
Здравствуйте, scale_tone, Вы писали:
_>Здравствуйте, snaphold, Вы писали:
S>>Привет
S>>есть таблица в базе типа А и есть массив объектов типа Б. S>>Как оптимальней сделать джойн по 3 полям между 2 коллекциями?
_>Было
Здравствуйте, snaphold, Вы писали:
S>Здравствуйте, scale_tone, Вы писали:
_>>Здравствуйте, snaphold, Вы писали:
S>>>Привет
S>>>есть таблица в базе типа А и есть массив объектов типа Б. S>>>Как оптимальней сделать джойн по 3 полям между 2 коллекциями?
_>>Было
Здравствуйте, scale_tone, Вы писали:
_>Здравствуйте, snaphold, Вы писали:
_>>>А зачем такой странный JOIN может понадобиться?
S>>нужно удалить дубли из таблицы
_>Расскажите подробно суть задачи.
есть таблица конфликтов некой сущности. Конфликт определяется по 3 из 5 полей в таблице.
пользователь выбирает айдишники записей, которые он хочет удалить.
если после удаления в таблице не остается конфликтующих записей, то их надо переместить в другую таблицу.
собственно мне надо получить записи, которые имеют такие же поля, как удаляемые, но исключить при этом удаляемые, т.к. это делается всё в одной транзакции
Здравствуйте, snaphold, Вы писали:
S>Здравствуйте, scale_tone, Вы писали:
_>>Здравствуйте, snaphold, Вы писали:
S>>>Привет
S>>>есть таблица в базе типа А и есть массив объектов типа Б. S>>>Как оптимальней сделать джойн по 3 полям между 2 коллекциями?
_>>Было
S>a.field = b.field and
S>a.field2 = b.field2 and
S>a.field3 != b.field3
S>
S>как такое замутить? там везде идет contains по анонимному типу
var result = from x in entity
join y in entity2 on new {field1= x.field1,field2= x.field2} equals new { field1=y.field1, field2=y.field2}
select new {field1= x.field1,field2=x.field2,field3= x.field3,field3y=y.field3};
var result2 = from x in result
where x.field3 != x.field3y
select new { x.field1,x.field2};
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, snaphold, Вы писали:
S>есть таблица конфликтов некой сущности. Конфликт определяется по 3 из 5 полей в таблице. S>пользователь выбирает айдишники записей, которые он хочет удалить. S>если после удаления в таблице не остается конфликтующих записей, то их надо переместить в другую таблицу. S>собственно мне надо получить записи, которые имеют такие же поля, как удаляемые, но исключить при этом удаляемые, т.к. это делается всё в одной транзакции
Ну, в общем, боюсь, что все равно плохо понял. Особенно фразу "если после удаления в таблице не остается конфликтующих записей, то их надо переместить в другую таблицу".
Предложил бы сделать джойн одним из предложенных методов