У меня есть класс «Пользователь» со списком организаций. С [BsonIgnore] я не спасаю организации. Они в другой коллекции. Вот почему «Пользователь» также имеет список идентификаторов организаций. Это прекрасно работает.
public class User
{
public ObjectId _id { get; set; }
public List<ObjectId> OrganisationIds { get; set; }
[BsonIgnore]
public List<Organisation> Organisations { set; get; }
}
Проблема
Проблема заключается в том, что я делаю запрос, чтобы получить пользователя и его организации. При десериализации BsonDocument он выдает исключение. Что-то вроде: «Организации» в «Пользователь» не существует.
var aggregation = _userService.GetCollection()
.Aggregate<User>()
.Lookup<User>("Organisations", "OrganisationId", "_id", "Organisation");
var firstUser = aggregation.FirstOrDefault();
var user = BsonSerializer.Deserialize<User>(firstUser);
Я не хочу сохранять организации в пользователе. Как мне подойти к этому?