MongoDB автоматическое сопоставление отношений документа C#
Существуют ли какие-либо рамки для MongoDB в C#, которые могут автоматически отображать взаимосвязи документов? Сейчас я говорю о модели или "схеме", которая определяется исключительно самими документами, а не объектами в.Net или любой другой внешней схеме в этом отношении.
Подумайте о динамических объектах / документах, которые могут автоматически загружать отношения между другими документами.
У меня есть несколько идей, как решить это самостоятельно, однако, если уже существуют какие-либо фреймворки или, возможно, расширения BsonDocument (как я собирался решить это самостоятельно), это уменьшило бы необходимость усложнять проект, над которым я работаю сам.
1 ответ
Вопрос в значительной степени не по теме ("есть ли рамки"), но я бы хотел оспорить саму идею:
это уменьшило бы необходимость усложнять проект, над которым я работаю сам.
Я думаю, что это просто скрыло бы сложность, перенеся ее в ту часть кода, которая ничего не знает о ваших функциональных или нефункциональных требованиях. В сочетании с базой данных, которая не имеет ограничений, кроме уникальной, которая не звучит как хорошая идея.
Я бы порекомендовал держаться подальше от ленивой загрузки, как почти общего правила, потому что невозможно определить,
- операция очень дорогая (вызов базы данных) или просто поиск в памяти
- состояние свойств будет выбираться при доступе или кэшироваться, таким образом скрывая ключевой аспект сериализации от пользователя.
Другими словами: я бы держался подальше от идеи или использовал что-то вроде EF с любой базой данных для нее. Если вы не заботитесь о своей сериализации, используйте проверенное обычное решение.