MongoDB автоматическое сопоставление отношений документа C#

Существуют ли какие-либо рамки для MongoDB в C#, которые могут автоматически отображать взаимосвязи документов? Сейчас я говорю о модели или "схеме", которая определяется исключительно самими документами, а не объектами в.Net или любой другой внешней схеме в этом отношении.

Подумайте о динамических объектах / документах, которые могут автоматически загружать отношения между другими документами.

У меня есть несколько идей, как решить это самостоятельно, однако, если уже существуют какие-либо фреймворки или, возможно, расширения BsonDocument (как я собирался решить это самостоятельно), это уменьшило бы необходимость усложнять проект, над которым я работаю сам.

1 ответ

Вопрос в значительной степени не по теме ("есть ли рамки"), но я бы хотел оспорить саму идею:

это уменьшило бы необходимость усложнять проект, над которым я работаю сам.

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

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

  • операция очень дорогая (вызов базы данных) или просто поиск в памяти
  • состояние свойств будет выбираться при доступе или кэшироваться, таким образом скрывая ключевой аспект сериализации от пользователя.

Другими словами: я бы держался подальше от идеи или использовал что-то вроде EF с любой базой данных для нее. Если вы не заботитесь о своей сериализации, используйте проверенное обычное решение.

Другие вопросы по тегам