类型“ X”的属性“ Cod”不能使用元素名称“ _id”,因为属性“ Cod”已在使用它

时间:2019-04-22 20:47:02

标签: c# .net mongodb

我一直在用mongo创建C#驱动程序的网站。我已经创建了用于存储数据的此类:

[BsonIgnoreExtraElements]
public class STT_Hotel
{
    public class STT_Hotel_Id
    {
        [BsonElement("prov_id")]
        [JsonProperty("prov_id")]
        public int provid { get; set; }
        [BsonElement("property_id")]
        [JsonProperty("property_id")]
        public string PropertyId { get; set; }

    }

    [BsonId]
    [BsonElement("id")]
    [JsonProperty("id")]
    public STT_Hotel_Id Cod { get; set; }

    // ...
}

我正在序列化时,它已正确保存到数据库中。

当我尝试获取对象时出现问题,我得到了异常:

  

类型'STT_Hotel'的属性'Cod'不能使用元素名称'_id',因为属性'Cod'已经在使用它。

一直在搜索,但不知道为什么。

我已删除集合中的所有数据,但仍然存在相同的问题

1 个答案:

答案 0 :(得分:0)

回答自己,原来我有一个具有相同元素名称的标签两次:

   [BsonElement("images")]
    [JsonProperty("images")]
    public string thumbnail { get; set; }
    [BsonElement("images")]
    [JsonProperty("images")]
    public List<Image> Images { get; set; }

导致问题的原因。