Какой простой / облегченный способ сохранения объектов в .net во время разработки и экспериментов?

#.net #persistence #rapid-prototyping

#.net #настойчивость #быстрое прототипирование #постоянство

Вопрос:

Я ищу простой способ сохранения объектов при экспериментировании и создании макетных пользовательских интерфейсов или служб. Я уже знаю, какой ORM я в конечном итоге буду использовать позже при создании выпускаемого продукта, но я не хочу утруждать себя настройкой всего этого на данном этапе.

Я ищу что-то, что:

  • имеет низкие требования к установке (в идеале, одна dll)
  • имеет низкие требования к настройке (нет определений столбцов, нет сопоставлений XML, нет создания таблиц ..)
  • имеет низкую производительность (на самом деле просто необходимо поддерживать 1 или 2 одновременных пользователя)
  • сохраняет данные при перезапуске приложения

Чего я действительно хочу, так это чего-то вроде хэш-таблицы, которая выдерживает перезапуск приложения.

Какие инструменты вы сочли бы подходящими для этого? Какие подходы вы используете, когда хотите сохранить простые структуры данных без каких-либо помех?

Ответ №1:

Вы могли бы просто использовать встроенную поддержку сериализации фреймворка.

С точки зрения ваших требований:

  • Нет требований к установке (уже в framework)
  • Нет требований к настройке (предоставленные типы сериализуемы)
  • Производительность не так хороша, как у большинства ORM, но все еще работает.
  • Может сохранять данные в файлах или любом другом источнике, который может принимать поток

Ответ №2:

ну, будет сложно установить все эти флажки.

В прошлом я использовал SQLite, было довольно издевательски относиться к DBs.

Что касается сохранения, вы можете попробовать использовать собственную сериализацию Xml / JSON или протобуферы Google.

Лучше, если у вас есть модель домена для ваших данных, таким образом, вы можете легко удалить / восстановить из базовых данных (в простом файле дампа / xml / db).

таким образом, вы всегда будете работать с моделью предметной области, а не с базовыми данными. позже вы можете изменить лежащие в основе данные, но ваша модель домена останется прежней