Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Динамическая коллекция данных, как реализовать? / 5 сообщений из 5, страница 1 из 1
09.02.2013, 19:44
    #38144601
Miad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическая коллекция данных, как реализовать?
Стоит задача, есть база на SQL сервере. Есть Silverlight приложение, в базе имеется динамически формируемая вьюха, т.е. при обращении к ней мы никогда не знаем сколько в ней полей и какого они типа. Но на клиенте на форме, которая будет принимать её в качестве контекста, имена части этих полей известны и прибиндины к соответствующим контролам.
Вопрос как получить эту вьюху в виде объекта? В приложении используется ADO.Entity, но я че-то не понял как вытащить анонимный объект и передать его клиенту. В каком направлении копать и мыслить?
...
Рейтинг: 0 / 0
09.02.2013, 19:48
    #38144603
Miad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическая коллекция данных, как реализовать?
Есть такая штука как DynamicObject , интересно можно ли его как-нибудь в Entity ввинтить?
...
Рейтинг: 0 / 0
10.02.2013, 16:20
    #38145109
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическая коллекция данных, как реализовать?
Miad,

поскольку DynamicObject не сериализуемый, придется позаботится о "транспорте", т.е. "отгружать" сериализуемый контент, из которого на клиенте воссоздавать dynamic, во-вторых, например в SL, придется исхитрится прибиндить эти свойства (индексированные свойства или конвертер)
...
Рейтинг: 0 / 0
10.02.2013, 18:13
    #38145191
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическая коллекция данных, как реализовать?
LRMiad,

поскольку DynamicObject не сериализуемый, придется позаботится о "транспорте", т.е. "отгружать" сериализуемый контент, из которого на клиенте воссоздавать dynamic, во-вторых, например в SL, придется исхитрится прибиндить эти свойства (индексированные свойства или конвертер)

В SL есть ICustomTypeProvider - более вменяемый вариант, чем IDynamicMetaObjectProvider, те позволяет обходится без рефлексии и тем более индексированных свойств.
Сериализуйте в json или xml, а дальше несложно
...
Рейтинг: 0 / 0
11.02.2013, 06:59
    #38145486
enigmatic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическая коллекция данных, как реализовать?
MiadСтоит задача, есть база на SQL сервере. Есть Silverlight приложение, в базе имеется динамически формируемая вьюха, т.е. при обращении к ней мы никогда не знаем сколько в ней полей и какого они типа. Но на клиенте на форме, которая будет принимать её в качестве контекста, имена части этих полей известны и прибиндины к соответствующим контролам.
Вопрос как получить эту вьюху в виде объекта? В приложении используется ADO.Entity, но я че-то не понял как вытащить анонимный объект и передать его клиенту. В каком направлении копать и мыслить?Насколько я понял, у вас есть SQL сервер, ASP.NET серверсайд с Entity Framework и SL приложение, хостящееся на ASP.NET серверсайде.
Насколько я понял, проблема сборки динамического объекта возникает уже на серверсайде (потому что вы хотите "вытащить анонимный объект и передать его клиенту").
Похоже, стоит последовать совету SeVa и собрать тип динамического объекта с помощью ICustomTypeProvider на серверсайде, собрать коллекцию динамических объектов, сериализовать её, передать клиенту, десериализовать на клиенте, прибиндить к гриду/чему-угодно.

P.S.: Я использую ICustomTypeProvider у себя для сборки коллекции объектов динамического типа из plain xml.
P.P.S.: "Каноничная" версия хелпера от M$ ( link ) имеет проблемы с невозможностью редактирования "из коробки" и со статическими свойствами (т.е. вы не сможете у себя в приложении одновременно определить несколько разных динамических типов). Проблема со статическими свойствами решается в лоб -- простой правкой хелпера.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Динамическая коллекция данных, как реализовать? / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]