Вопрос

Может ли кто-нибудь указать мне на хорошее руководство, объясняющее, как 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 из ваших данных.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top