MongoDB c#驱动程序-将字符串列表表示为ObjectId列表

本文关键字:列表 表示 ObjectId 字符串 驱动程序 MongoDB | 更新日期: 2023-09-27 18:05:55

所以使用MongoDB和它的c#驱动程序,我有UsersProjects之间的多对多关系,并让它们像这样相互引用(基于这篇文章-多对多关系):

public class User
{
    // other props....
    ICollection<string> ProjectIds {get; set;}
}
public class Project
{
    // other props....
    ICollection<string> UserIds {get; set;}
}

如你所见,我用string代替ObjectId。我知道你可以通过在映射中使用SetRepresentation(BsonType.ObjectID)或通过数据注释来做到这一点,但是,通过字符串列表,MongoDB抛出BsonSerializationException

所以,我怎么能告诉MongoDB表示字符串的ObjectIds列表?对此问题的任何意见将不胜感激。谢谢!

MongoDB c#驱动程序-将字符串列表表示为ObjectId列表

在mongodb中,我使用List<string>,它将存储为集合中的[]数组,并将正常工作。