|
Динамическая коллекция данных, как реализовать?
|
|||
---|---|---|---|
#18+
Стоит задача, есть база на SQL сервере. Есть Silverlight приложение, в базе имеется динамически формируемая вьюха, т.е. при обращении к ней мы никогда не знаем сколько в ней полей и какого они типа. Но на клиенте на форме, которая будет принимать её в качестве контекста, имена части этих полей известны и прибиндины к соответствующим контролам. Вопрос как получить эту вьюху в виде объекта? В приложении используется ADO.Entity, но я че-то не понял как вытащить анонимный объект и передать его клиенту. В каком направлении копать и мыслить? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 19:44 |
|
Динамическая коллекция данных, как реализовать?
|
|||
---|---|---|---|
#18+
Есть такая штука как DynamicObject , интересно можно ли его как-нибудь в Entity ввинтить? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 19:48 |
|
Динамическая коллекция данных, как реализовать?
|
|||
---|---|---|---|
#18+
Miad, поскольку DynamicObject не сериализуемый, придется позаботится о "транспорте", т.е. "отгружать" сериализуемый контент, из которого на клиенте воссоздавать dynamic, во-вторых, например в SL, придется исхитрится прибиндить эти свойства (индексированные свойства или конвертер) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2013, 16:20 |
|
Динамическая коллекция данных, как реализовать?
|
|||
---|---|---|---|
#18+
LRMiad, поскольку DynamicObject не сериализуемый, придется позаботится о "транспорте", т.е. "отгружать" сериализуемый контент, из которого на клиенте воссоздавать dynamic, во-вторых, например в SL, придется исхитрится прибиндить эти свойства (индексированные свойства или конвертер) В SL есть ICustomTypeProvider - более вменяемый вариант, чем IDynamicMetaObjectProvider, те позволяет обходится без рефлексии и тем более индексированных свойств. Сериализуйте в json или xml, а дальше несложно ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2013, 18:13 |
|
Динамическая коллекция данных, как реализовать?
|
|||
---|---|---|---|
#18+
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 ) имеет проблемы с невозможностью редактирования "из коробки" и со статическими свойствами (т.е. вы не сможете у себя в приложении одновременно определить несколько разных динамических типов). Проблема со статическими свойствами решается в лоб -- простой правкой хелпера. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2013, 06:59 |
|
|
start [/forum/topic.php?fid=21&msg=38144603&tid=1441497]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
178ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 280ms |
0 / 0 |