Deserialize a nested struct with MongoDB C# driver

天大地大妈咪最大 提交于 2020-01-06 02:34:56

问题


I serialize this Kontejner class without problems.

public struct Dimenzije
{
    public double duzina, sirina, visina;
    public Dimenzije(double d, double s, double v)
    {
        duzina = d; sirina = s; visina = v;
    }
}

public class Kontejner
{

    [BsonId]
    public string Id { get; set; }

    public string Opis { get; set; }
    public Dimenzije Dimenzije { get; set; }

    [BsonElement]
    public double Zapremina
    {
        get
        {
            return Dimenzije.duzina * Dimenzije.sirina * Dimenzije.visina;
        }
    }

    public bool Cvrsti { get; set; }
    public bool Tecni { get; set; }
    public bool Rasuti { get; set; }
}

When I try to deserialize it, it can't deserialize the Dimenzije field.

I know this is a mapping issue, but I'm pressured into finding a quick answer, and I don't see it in MongoDB docs. Thanks in advance.


回答1:


I changed Dimenzije to be a class instead of struct, like this:

public class Dimenzije
{
    public Dimenzije() { }
    public Dimenzije(double d, double s, double v)
    {
        duzina = d; sirina = s; visina = v;
    }
    public double duzina{get; set;}
    public double sirina{get; set;}
    public double visina{get; set;}

}

It works as expected. Notice the presence of Dimenzije() constructor!



来源:https://stackoverflow.com/questions/24024547/deserialize-a-nested-struct-with-mongodb-c-sharp-driver

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!