Информация об изменениях

Сообщение Re[3]: LinqToSql , LinqToObjects, Join от 14.05.2015 15:42

Изменено 15.05.2015 8:06 Serginio1

Здравствуйте, snaphold, Вы писали:

S>Здравствуйте, scale_tone, Вы писали:


_>>Здравствуйте, snaphold, Вы писали:


S>>>Привет


S>>>есть таблица в базе типа А и есть массив объектов типа Б.

S>>>Как оптимальней сделать джойн по 3 полям между 2 коллекциями?

_>>Было
Автор: ronik
Дата: 30.03.15


S>а если надо сделать условие на джойн

S>
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 { x.field1, x.field2,true } equals new { y.field1, y.field2,x.field3 !=x.field3 }

Нет такая конструкция не проходит

join pet in C2 on new { ID=person.ID,fl=true } equals new {ID=pet.ID,fl=(pet.Flag==person.ID) }

Ругается на person.ID

Но можно извернуться через промежуточное соединение для полученя поля b.field3
Re[3]: LinqToSql , LinqToObjects, Join
Здравствуйте, snaphold, Вы писали:

S>Здравствуйте, scale_tone, Вы писали:


_>>Здравствуйте, snaphold, Вы писали:


S>>>Привет


S>>>есть таблица в базе типа А и есть массив объектов типа Б.

S>>>Как оптимальней сделать джойн по 3 полям между 2 коллекциями?

_>>Было
Автор: ronik
Дата: 30.03.15


S>а если надо сделать условие на джойн

S>
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 { x.field1, x.field2,true } equals new { y.field1, y.field2,x.field3 !=x.field3  }

Нет такая конструкция не проходит

 join pet in C2 on new { ID=person.ID,fl=true } equals new {ID=pet.ID,fl=(pet.Flag==person.ID) }

Ругается на person.ID

Но можно извернуться через промежуточное соединение для полученя поля b.field3