Ich habe versucht, überall eine Antwort zu finden, aber ich nehme an, dass ich etwas falsch mache, aber nicht herausfinden kann, was.LiteDB gibt keine Daten zurück, wenn Abfragen ausgeführt werden
Ich habe eine Struktur namens Genre
. Genre
hat eine id
und eine name
.
public struct Genre
{
public int Id { get; set; }
public string Name { get; set; }
}
ich bevölkern die DB-Datei richtig und meine Db-Datei sieht wie folgt aus (stammt aus einer öffentlichen API):
> db.MoviesGenres.find
[1]: {"_id":12,"Name":"Adventure"}
[2]: {"_id":14,"Name":"Fantasy"}
[3]: {"_id":16,"Name":"Animation"}
[4]: {"_id":18,"Name":"Drama"}
[5]: {"_id":27,"Name":"Horror"}
[6]: {"_id":28,"Name":"Action"}
[7]: {"_id":35,"Name":"Comedy"}
[8]: {"_id":36,"Name":"History"}
[9]: {"_id":37,"Name":"Western"}
[10]: {"_id":53,"Name":"Thriller"}
[11]: {"_id":80,"Name":"Crime"}
[12]: {"_id":99,"Name":"Documentary"}
[13]: {"_id":878,"Name":"Science Fiction"}
[14]: {"_id":9648,"Name":"Mystery"}
[15]: {"_id":10402,"Name":"Music"}
[16]: {"_id":10749,"Name":"Romance"}
[17]: {"_id":10751,"Name":"Family"}
[18]: {"_id":10752,"Name":"War"}
[19]: {"_id":10770,"Name":"TV Movie"}
So weit so gut, nicht wahr? Jetzt ist das Problem, wenn ich versuche, diese Daten wieder zu verwenden, um woanders zu verwenden. Ich habe eine Methode, die den Namen zurückgeben sollte, aber es nicht.
public static string GetGenre(int Id)
{
LitePlatform.Initialize(new LitePlatformFullDotNet());
using (var Db = new LiteDatabase(Database.DataFile))
{
var Collection = Db.GetCollection<Genre>("MoviesGenres");
Genre genre = Collection.FindOne(x => x.Id == Id);
return genre.Name;
}
}
Wenn ich einen Haltepunkt setzen, genre
die Werte id = 0
und name = null
. Dasselbe passiert, wenn ich einen statischen Anruf wie
Was vermisse ich?