LINQ запрос с JOIN-ами: как переписать на методы?
От: DreamWeaver ОАЭ  
Дата: 01.03.12 12:30
Оценка:
Сам запрос вот:
from mc in context.obj1_Set
                    join obj2 in context.obj2_Set on mc.obj2_id equals obj2.id into obj2Result
                    join obj3 in context.obj3_Set on mc.obj3_id equals obj3.id into obj3Result
                    join obj4 in context.obj4_Set on mc.obj4_id equals obj4.id into obj4Result
                    select new Obj1Wrapper
                    {
                        Obj1 = mc,
                        Obj2_Str = obj2Result.Where(v => v.type_id == 2).Select(v => v.Value).FirstOrDefault(),
                        Obj3_Str = obj3Result.Where(v => v.type_id == 3).Select(v => v.Value).FirstOrDefault(),
                        Obj4_Str = obj4Result.Where(v => v.type_id == 4).Select(v => v.Value).FirstOrDefault()
                    };


Его нужно переписать , чтобы можно было избавиться от "Obj1Wrapper". Свойства "Obj2_Str","Obj3_Str", "Obj4_Str" можно засунуть в partial class для "Obj1". Тогда эти совйства можно будет присваивать так:

... .Select(v=>{ v.Obj2_Str = ...;v.Obj3_Str = ...;v.Obj4_Str = ...; return x; })


Или, можно ли изменить приведенный выше запрос так, чтобы выбирать "Obj1" вместо "Obj1Wrapper", но при этом устанавливать все дополнительные свойства, определенные в partial классе?
В сложившихся условиях ни то, ни другое не сулило ему никакой выгоды. Чего не скажешь о молчании...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.