В качестве функции для нашего приложения я ищу наилучший способ экспорта подмножества связанных данных из базы данных из базы данных SQL-Server 2008 Express на диск.Экспортируемый контент необходимо импортировать, сохраняя идентификационные данные в другой, такой как база данных и сервер.
У меня есть модель данных среднего размера из 143 таблиц, на которой я использую Entity Framework 3.5 для доступа к данным в наших приложениях.Из модели я хочу извлечь строки из почти всех таблиц на основе заданных критериев.
Новичок в C # и в сущности-структуре, но не в новинку для SQL-Server, я перенял этот проект у другого разработчика, который начал с написания методов ToXML () для каждой извлекаемой сущности (20%сделанный).Очевидно, кошмар обслуживания.Хуже будет FromXML () для сущностей, где есть сложности, связанные с уникальными ключами и т. Д. *
Я экспериментировал с SELECT ... FOR XML AUTO, XMLSCHEMA в сочетании с массовой загрузкой Microsoft SQLXML.Хотя сначала все шло хорошо с простыми ванильными таблицами, я вскоре зашел в тупик, потому что, похоже, он не поддерживает типы данных XML без схем или, по крайней мере, без значительного ручного вмешательства.У нас есть несколько таблиц со столбцами типа данных XML.Кроме того, есть еще неизвестные сложности с массовой загрузкой, связанные с триггерами, пустыми значениями, уникальными ключами и ограничениями, и многим другим, с чем я еще не сталкивался, я предполагаю.Напишите соответствующую схему XSD для нашей базы данных (или сгенерируйте ее) и используйте XSD.exe для генерации модели классов в виде коллекции DTO.Затем используйте библиотеку сопоставлений, такую как AutoMapper, для заполнения DTO и сериализации их на диск.Затем сделайте обратное в отношении импорта.
Я знаю, что это большой и широкий вопрос, но может ли кто-нибудь дать некоторые рекомендации или идеи по этому поводу?Есть ли способы, которыми это можно сделать с помощью опций в структуре сущностей?Существуют ли библиотеки с открытым исходным кодом, которые могут это сделать?