c#:元素'Id'与任何字段或属性MongoDB都不匹配

问题描述 投票:3回答:1

我在mongodb中有这个Bson模型:

"setting|resources" : {
                    "Name" : "EsupHamrah",
                    "Id" : "449ea0e1-0261-4bee-b096-a838746c94ea",
                    "Children" : [..

我创建了这个合约模型:

public class SettingResources
    {
        public string Name { get; set; }

        [BsonElement]
        //[BsonRepresentation(BsonType.String)]
        public string Id { get; set; }

        //[BsonId(IdGenerator = typeof(CombGuidGenerator))]
        //public string Id { get; set; }

        public IList<object> Children { get; set; }
    }

当我查询时,我收到此错误:

An error occurred while deserializing the configs property of class ConsoleMongoApp.Applications: An error occurred while deserializing the values property of class ConsoleMongoApp.Configs: An error occurred while deserializing the resources property of class ConsoleMongoApp.Values: Element 'Id' does not match any field or property of class ConsoleMongoApp.SettingResources.

Id只是字符串,而不是GUID或ObjectId,但为什么mongo不能映射id?

c# mongodb
1个回答
1
投票

你在mongodb的模型是错误的,有一个| (管道)在Json字符串中,尝试在“settingResources”上修复它:

"settingResources" : {
                    "Name" : "EsupHamrah",
                    "Id" : "449ea0e1-0261-4bee-b096-a838746c94ea",
                    "Children" : [..
© www.soinside.com 2019 - 2024. All rights reserved.