Подскажите как упростить Union
От: Аноним  
Дата: 01.11.10 08:02
Оценка:
Есть у меня такой запрос
var qs = from o in Orders
from sd in o.SellDealings
select sd;
var qb = from o in Orders
from bd in o.BuyDealings
select bd;
dealings = qs.Union(qb).ToList();

У меня есть подозрение, что я криво написал. Может покажите как оптимизировать такое?
Re: Подскажите как упростить Union
От: Lloyd Россия  
Дата: 01.11.10 08:21
Оценка: +1
Здравствуйте, Аноним, Вы писали:

А>У меня есть подозрение, что я криво написал. Может покажите как оптимизировать такое?


Да нормально все вроде.
Re: Подскажите как упростить Union
От: xobotik Россия  
Дата: 01.11.10 08:29
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть у меня такой запрос

А>var qs = from o in Orders
А> from sd in o.SellDealings
А> select sd;
А>var qb = from o in Orders
А> from bd in o.BuyDealings
А> select bd;
А>dealings = qs.Union(qb).ToList();

А>У меня есть подозрение, что я криво написал. Может покажите как оптимизировать такое?


Доброе утро! Посмотрите в сторону into и let. Книга хорошая Джозеф Албахари, Бен Албахари — "Linq. Карманный справочник". На msdn полно информации на счет этого.

P.S. Без исходных данных тяжело решать задачи такого типа =(
С уважением!
Re[2]: Подскажите как упростить Union
От: Аноним  
Дата: 01.11.10 08:39
Оценка:
А>>Есть у меня такой запрос
А>>var qs = from o in Orders
А>> from sd in o.SellDealings
А>> select sd;
А>>var qb = from o in Orders
А>> from bd in o.BuyDealings
А>> select bd;
А>>dealings = qs.Union(qb).ToList();

X>Доброе утро! Посмотрите в сторону into и let. Книга хорошая Джозеф Албахари, Бен Албахари — "Linq. Карманный справочник". На msdn полно информации на счет этого.



Просто у меня в объекте Order есть 2 коллекции (SellDealings и BuyDealings) вот хочется сделать Union (и дубликаты убрать), но чтобы в одном ЛИНК запросе. Такое можно?
Re[3]: Подскажите как упростить Union
От: xobotik Россия  
Дата: 01.11.10 08:47
Оценка:
Здравствуйте, Аноним, Вы писали:

А>>>Есть у меня такой запрос

А>>>var qs = from o in Orders
А>>> from sd in o.SellDealings
А>>> select sd;
А>>>var qb = from o in Orders
А>>> from bd in o.BuyDealings
А>>> select bd;
А>>>dealings = qs.Union(qb).ToList();

X>>Доброе утро! Посмотрите в сторону into и let. Книга хорошая Джозеф Албахари, Бен Албахари — "Linq. Карманный справочник". На msdn полно информации на счет этого.


А>Просто у меня в объекте Order есть 2 коллекции (SellDealings и BuyDealings) вот хочется сделать Union (и дубликаты убрать), но чтобы в одном ЛИНК запросе. Такое можно?


Можно наверно как-то поиграться с join, groupby но толку с этого? Попробуйте сначала сделать так не через LINQ , а через обыкновенные циклы for или foreach, тогда по идеи получится сделать единый запрос LINQ, когда поймете логику через циклы!
С уважением!
Re[4]: Подскажите как упростить Union
От: seimur  
Дата: 14.11.10 17:02
Оценка:
Здравствуйте, xobotik, Вы писали:

X>Здравствуйте, Аноним, Вы писали:


А>>>>Есть у меня такой запрос

А>>>>var qs = from o in Orders
А>>>> from sd in o.SellDealings
А>>>> select sd;
А>>>>var qb = from o in Orders
А>>>> from bd in o.BuyDealings
А>>>> select bd;
А>>>>dealings = qs.Union(qb).ToList();

X>>>Доброе утро! Посмотрите в сторону into и let. Книга хорошая Джозеф Албахари, Бен Албахари — "Linq. Карманный справочник". На msdn полно информации на счет этого.


А>>Просто у меня в объекте Order есть 2 коллекции (SellDealings и BuyDealings) вот хочется сделать Union (и дубликаты убрать), но чтобы в одном ЛИНК запросе. Такое можно?


X>Можно наверно как-то поиграться с join, groupby но толку с этого? Попробуйте сначала сделать так не через LINQ , а через обыкновенные циклы for или foreach, тогда по идеи получится сделать единый запрос LINQ, когда поймете логику через циклы!


Тут http://msdn.microsoft.com/en-us/vbasic/bb737941.aspx#union
Теоретически нет разницы между теорией и практикой, но на практике она есть
Re[5]: Подскажите как упростить Union
От: Аноним  
Дата: 15.11.10 11:28
Оценка:
А>>>>>var qs = from o in Orders
А>>>>> from sd in o.SellDealings
А>>>>> select sd;
А>>>>>var qb = from o in Orders
А>>>>> from bd in o.BuyDealings
А>>>>> select bd;
А>>>>>dealings = qs.Union(qb).ToList();


S>Тут http://msdn.microsoft.com/en-us/vbasic/bb737941.aspx#union


Не совсем понял. Там же тоже самое что и в исходном запросе, только запрос написан внутри Union
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.