Entity Framework с XML-файлами
-
03-07-2019 - |
Вопрос
Может ли кто-нибудь указать мне на хорошее руководство, объясняющее, как Entity Framework использует XML-файл вместо базы данных?Я видел несколько хороших руководств по базам данных SQL, но не могу перейти к XML-файлу.
Спасибо!
Решение
Сама Entity Framework основана на поставщике и разработанный работать с реляционной базой данных.Если бы вы действительно этого хотели, вы могли бы написать свой собственный поставщик для EF, который читает/записывает XML-файл, но это будет огромный объем работы.
Я ожидаю, что вам действительно стоит посмотреть на одно из:
- LINQ-to-XML
- XML (де)сериализация
- XPath/XQuery
- XSLT
Entity Framework не имеет естественный подходит под этот сценарий.
Другие советы
Linq to XML на самом деле не так уж и много.Вместо этого я бы выбрал сериализуемое решение.
Мне нравится LINQ для XSD: http://linqtoxsd.codeplex.com/
По сути, это LINQ to XML с некоторыми классами, производными от XSD, чтобы убедиться, что он соответствует схеме...
Я не думаю, что это действительно возможно.
От MSDN (выделено мной):
ADO.NET Entity Framework предназначена для того, чтобы дать разработчикам возможность создавать приложения доступа к данным путем программирования на основе концептуальной модели приложения, а не непосредственно на основе модели приложения. схема реляционного хранилища.
Вы можете использовать соединение oledb вместе с командой FORXML...но у вас не будет всего функционала, который доступен у других провайдеров...
Проблема в том, что вам нужно файловое хранилище данных?Если да, вы можете использовать поставщика данных SimpleDB.SimpleDB отлично подходит, если вам нужна реляционная база данных в одном файле.MS Access также отлично подходит для этого.
XML предназначен для общения.Если использовать его для хранения, это невероятно неэффективно.Возможно, было бы лучше разделить эти две задачи и сохранить ваши данные в реляционной базе данных, а затем сгенерировать XML из ваших данных.