Экспорт в XML с сайта динамических данных

Мне нужно обновить существующий сайт, основанный на DDS поверх Entity Framework, и он использует три разные модели баз данных из трех разных баз данных. И ему нужно простое дополнение к странице ListDetails: кнопка экспорта в XML ...
Добавить кнопку очень просто. Создать XML тоже нетрудно. Задача состоит в том, чтобы получить подходящую таблицу для экспорта, просмотреть все записи и поля и сгенерировать XML на основе любой из более чем 100 таблиц в системе!
Итак, моя кнопка вызывает обработчик экспорта (ashx), который генерирует XML на основе таблицы, имя которой она получает через свои параметры. У меня есть примерно такой код:

        Content_CobaEntities Coba = new Content_CobaEntities();
        MetadataWorkspace metadataWorkspace = Coba.MetadataWorkspace;
        EntityContainer container = metadataWorkspace.GetItems<EntityContainer>(DataSpace.CSpace).First();
        string namespaceName = metadataWorkspace.GetItems<EntityType>(DataSpace.CSpace).First().NamespaceName;
        EntitySetBase entitySetBase = container.BaseEntitySets.FirstOrDefault(set => set.ElementType.Name == Entity);

К сожалению, это работает только с одним контекстом, а у меня их три. (Но это основной контекст.) (Кроме того, для определения правильного контекста можно использовать второй параметр.) И хотя он позволяет мне определить необходимый тип сущности, он все равно не предоставит мне доступа к его записям и поля.

Итак, как мне получить данные для этого объекта? (Фильтры не важны; экспорт вернет все данные.)

И нет, EF4 нет. Нет .NET 4. Это более старый проект VS2008, который нельзя ни сильно изменить, ни обновить ...


По сути, строка запроса содержит два параметра: ContextID и QueryID. ContextID сообщает мне, какой контекст использовать, и, поскольку у меня есть только три разных контекста, простая команда switch решает эту проблему за меня. Но один из контекстов содержит 60+ запросов, каждый из которых относится к одной таблице базы данных.Сайт динамических данных предоставляет мне возможность добавлять, редактировать и удалять записи из этой таблицы, но ее нужно экспортировать в формате, определяемом моим пользовательским кодом. Но с 60 таблицами слишком сложно писать оператор switch для каждого запроса, поэтому мне нужно что-то более общее.

6
задан leppie 6 July 2011 в 08:32
поделиться