1

我有这个问题,我有一个类的属性,它是一个 ArrayList,然后将这个类存储在 db4o 容器中会在服务器重新启动后清除列表。

具有 ArrayList 属性的类看起来有点像这样:

public class Planet
{
    public string Name { get; set; }
    public string Identifier { get; set; }

    // Planet has an ArrayList property called Moons.
    public ArrayList Moons { get; set; }
}

填充类并将其存储到数据库

if (planet.Moons == null)
{
    planet.Moons = new ArrayList();
    planet.Moons.Add(new Moon("MoonOne"));
    planet.Moons.Add(new Moon("MoonTwo"));

    Database.Store(planet);
}

只要服务器运行一切正常,列表是正确的并且其中的值是正确的。该类的其他属性也正确无误。

重新启动服务器并清除列表。尽管该课程的其余部分仍然正确,并且数据库中的其他所有内容都很好,但是由于某种原因,只有列表被清除了。

有没有人知道为什么会发生这种情况?

4

1 回答 1

0

数据库.存储(行星);

这是商店还是更新?我的意思是,在设置“Moons”成员之前,已经从 db 中检索了“planet”对象,或者它是一个新实例化的 obj?

您是否尝试过使用简单的嵌入式应用程序?

于 2012-08-23T17:25:53.390 回答