1

我正在尝试保存这个简单的类,但 MongoDB 不接受。

public class CredentialSet
{
    public CredentialSet()
    {
        this.Items = new ObservableCollection<CredentialSet>();
    }
    [BsonId]
    public ObjectId _id { get; set; }
    public string Title { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
    public string WebSite { get; set; }
    public string Notes { get; set; }
    public int Owner { get; set; }
    public DateTime LastUpdate { get; set; }

    public ObservableCollection<CredentialSet> Items { get; set; }

    public CredentialSet parent { get; set; }
}

超出最大序列化深度(被序列化的对象是否有循环引用?)。

如何解决?

4

1 回答 1

0

我以这种方式解决了我们核心项目中的问题。

'
using Newtonsoft.Json;
using AutoMapper;

var stringContent = JsonConvert.SerializeObject(_mapper.Map<DataDTO>(newdata), new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }).ToString();

 _mongoService.Save(JsonConvert.DeserializeObject<DataDTO>(stringContent));


//mongo service save method
public async void Save(DataDTO dataDTO)
{
  await observationCollection.InsertOneAsync(dataDTO));
}        
'
于 2021-08-12T11:04:41.487 回答