Я пробовал найти ответ везде, но я предполагаю, что я делаю что-то неправильно, но не могу понять, что.LiteDB не возвращает никаких данных при выполнении запросов
У меня есть структура, называемая Genre
. Genre
имеет id
и name
.
public struct Genre
{
public int Id { get; set; }
public string Name { get; set; }
}
я заполнить файл DB правильно и мой .db файл выглядит следующим образом (происходит от публичного 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"}
До сих пор так хорошо, не так ли? Теперь проблема заключается в том, что я пытаюсь снова использовать эти данные для использования в других местах. У меня есть метод, который должен возвращать имя, но это не так.
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;
}
}
Когда я поставил точку останова, genre
имеет значения от id = 0
и name = null
. То же самое происходит, когда я делаю статический вызов, например Collection.FindOne(x => x.Name == "Animation")
Что мне не хватает?