在4.0框架下,LiteDB和C#现在出现问题。
基本上,我的情况在下面显示。不是我所知道的最好的名字,但是我以此为例
现在,此类驱动所有创建和初始化LiteDB的操作。它要进行检查以确保文件存在,创建注册表项,创建文件夹,并应该初始化数据库/“集合”的静态副本,所以我要做的就是即时调用该集合以执行操作。>
现在在我的课堂上,我有如下声明:
public static class notActualName
{
private static LiteDatabase databaseName;
public static LiteCollection<database> databaseCollection;
public static void doSomething()
{
databaseName = new LiteDatabase(pathToDatabase);
databaseCollection = databaseName.GetCollection<database>("Database);
}
}
public class somethingElse
{
notActualName.doSomething(); //It is called
var data = new databaseName
{
variable1 = "Test",
variable2 = 2
};
notActualName.databaseCollection.Insert(data); //NULL REFERENCE EXCEPTION
}
为什么调用数据库集合时会出现NULL REFERENCE EXCEPTION?
基本上,我现在面临的问题是没有创建数据库文件。我怀疑在我向其中插入文件的那一刻,文件就被写入了,因此,我不得不写出无意义的伪数据,并将其过滤掉,只是为了正确地初始化程序。
其他人对此有任何经验或见过此问题?我是否只需要吸收它并接受我不能使我的集合和数据库保持静态?