Linq и анонимы

Обсуждение Stimulsoft Reports.NET
Павел
Сообщения: 5
Зарегистрирован: 14 окт 2010, 21:28

Linq и анонимы

Сообщение Павел »

Добрый день!

Подскажите если я регистрирую linq запрос с анонимными типами
через BussinesObject дерево объекта вручную можно построить но
дальше корневого типа дизайнер не возвращает поля вложенных типов

И почему дизайнер сам не создает вложенные типы в объекте

Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

Linq и анонимы

Сообщение Ivan »

Здравствуйте.
Подскажите если я регистрирую linq запрос с анонимными типами
через BussinesObject дерево объекта вручную можно построить но
дальше корневого типа дизайнер не возвращает поля вложенных типов
На прошлой неделе в дизайнере было исправлено несколько ошибок, связанных с получением вложенных типов.
Патч будет включен в завтрашний билд (от 14-Dec-2010).
Пожалуйста попробуйте использовать этот билд и сообщите нам о результатах.

Код: Выделить всё

И почему дизайнер сам не создает вложенные типы в объекте
Вложенные типы могут быть ссылками на родительские типы, в результате может получиться зацикливание и построение бесконечного дерева.
Также бывает необходимо некоторые типы не раскручивать, т.е. оставить ссылку на объект именно как ссылку.
Поэтому было принято решение: в дизайнере не раскручивать вложенные типы автоматически.

Это можно сделать из кода приложения, например:

Код: Выделить всё

            report.RegBusinessObject("myData", myData);
            report.Dictionary.SynchronizeBusinessObjects(maxLevel);
Спасибо.
Павел
Сообщения: 5
Зарегистрирован: 14 окт 2010, 21:28

Linq и анонимы

Сообщение Павел »

Ух ты а я грешил на report.Dictionary.Synchronize()
а с report.Dictionary.SynchronizeBusinessObjects(maxLevel) - пролетел, виноват
Жду новый билд
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Linq и анонимы

Сообщение Aleksey »

Здравствуйте,

Сообщите нам, если понадобится дополнительная помощь.

Спасибо.
Павел
Сообщения: 5
Зарегистрирован: 14 окт 2010, 21:28

Linq и анонимы

Сообщение Павел »

Попробовал на версии от 15 декабря не видит колонки, всё так-же видит колонки только первого уровня
Павел
Сообщения: 5
Зарегистрирован: 14 окт 2010, 21:28

Linq и анонимы

Сообщение Павел »

Да и не хочет видеть вложенные анонимы дальше второго уровня
мини пример:

Код: Выделить всё

 var aData = new string[]{ "a1", "a2", "a3" };
 var bData = new string[] { "b1", "b2", "b3" };
 var cData = new string[] { "c1", "c2", "c3" };

                var rData = from a in aData
                            select new
                            {
                                a,
                                b = from b in bData
                                    select new
                                    {
                                        b,
                                        c = from c in cData
                                            select new
                                            {
                                                c
                                            }
                                    }
                            };

                foreach (var a in rData)
                {
                    foreach (var b in a.b)
                    {
                        foreach (var c in b.c)
                        {
                            Console.WriteLine(string.Format("{0} {1} {2}", a.a, b.b, c.c));
                        }

                    }
                    
                }

Stimulsoft.Report.StiReport report = new Stimulsoft.Report.StiReport();
report.RegBusinessObject("rData", rData);
report.Design();
Должны были получить что-то вроде:
a1 b1 c1
a1 b1 c2
a1 b1 c3
.....
a3 b3 c2
a3 b3 c3

А имеем:
Изображение
далее
Изображение
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Linq и анонимы

Сообщение Aleksey »

Здравствуйте,

Мы все проверили, проанализировали, внесли некоторые поправки, но, к сожалению, из-за особенности работы анонимных типов, они у нас,
на данный момент, функционировать не будут.

Спасибо.
Viacheslav
Сообщения: 2
Зарегистрирован: 27 дек 2010, 12:03

Linq и анонимы

Сообщение Viacheslav »

Жаль поскольку в Linq это очень гибкий инструмент облегчающий построение результатов при сложных запросах к различным источникам, например Entity Framework

Надеюсь мы скоро этот барьер осилим!

Спасибо
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Linq и анонимы

Сообщение Aleksey »

Здравствуйте,

Мы добавили реализацию данного функционала в наш список дел, но я не могу сказать, когда он будет доступен.

Спасибо.
Viacheslav
Сообщения: 2
Зарегистрирован: 27 дек 2010, 12:03

Linq и анонимы

Сообщение Viacheslav »

Вот за что я и уважаю Ваш проект, так за Ваше стремление достичь большего не останавливаясь на достигнутом.

Спасибо
Ответить