Я недавно столкнулся с той же проблемой, и я обычно избегаю их, но ... я думаю, что это может быть полезным для существенной системы нумерации, развернутой в поле Id.
class Thing {
string Id {get; set;}
string Name {get; set;}
string RelatedThing {get; set;}}
Итак, упрощение, если Id был чем-то вроде "T00001" (или действительно T + GUID), вы могли бы легко получить набор вещей из Mongo, запрашивая что-то вроде Id, начинается с T и настраивая объекты для них всех (или только для подмножества, которое, как вы знаете, содержит вашу ссылку, если это очень большой набор).
Вы знаете / ожидаете, что RelatedThing будет Thing , но это будет просто строка, когда она вернется из Монго. Но если вы настроили объекты, как указано выше, вы можете эффективно использовать строку, как если бы она была ссылкой на объект (в конце концов, это то, чем она является на самом деле, сделано вроде «вручную»).
Это «свободный» способ сделать это, но может быть полезным для вас.
Может ли кто-нибудь увидеть какие-либо подводные камни при таком подходе?