Сериализация BSON в драйвере C# для MongoDB

Я только начал играть с MongoDB и официальным драйвером С# для него. И у меня есть небольшой вопрос по сериализации объектов. Например, у нас есть классы:

public class User
{
    public string Name;

    public List<Comment> Comments = new List<Comment>(){ new Comment() };
    public List<Card> Cards = new List<Card>() { new Card() };
}

public class Comment
{
    public string Id;
    public string Text;
}

public class Card
{
    public string Id;
    public string Text;
}

Я хочу получить сериализованную коллекцию карт внутри пользователя, но коллекцию комментариев, например DBRef. Можно ли добиться этого с помощью последнего стандартного драйвера С#? Было бы очень здорово использовать некоторые атрибуты, такие как:

public class User
{
    public string Name;

    [UseDBRef]
    public List<Comment> Comments = new List<Comment>(){ new Comment() };

    public List<Card> Cards = new List<Card>() { new Card() };
}

person Anonimous    schedule 09.04.2012    source источник


Ответы (2)


Взгляните на этот проект в GitHub.

https://github.com/virajs/MongoDB-Mapping-Attributes.git

Этот проект в основном предоставляет вам два атрибута сопоставления. OneToMany и ManyToOne. Проверьте код и поэкспериментируйте с тестовым проектом.

person Viraj Siriwardana    schedule 10.06.2012

Вы можете объявить свойство Comment как List‹MongoDBRef› и самостоятельно обрабатывать отношения, но для этого нет автоматической поддержки.

person Robert Stam    schedule 09.04.2012