TextBlob является нулевым - PullRequest
0 голосов
/ 20 мая 2018

Я работаю с SQLite впервые, я работаю над студенческим проектом, и я провел много исследований, но не могу решить свою проблему.Я пытаюсь использовать sqlite-net-extensions, но мой TextBlob всегда нулевой.Как можно использовать методы с WithChilder, я не могу заставить их работать либо

Это мой класс модели:

    public class FoodNutrient
{
    [PrimaryKey, AutoIncrement]
    public int ID { get; set; }
    public string foodname { get; set; }
    public string sd { get; set; }
    public string time { get; set; }
    [TextBlob(nameof(nutrientsBlobbed))]
    public List<NutrientItem> nutrients { get; set; }
    public string nutrientsBlobbed { get; set; }
}

public class NutrientItem
{
    public string name { get; set; }
    public string group { get; set; }
    public string unit { get; set; }
    public double value { get; set; }
}

Это моя база данных:

    public class FoodDatabase
{
    readonly SQLiteAsyncConnection database;

    public FoodDatabase(string dbPath)
    {
        database = new SQLiteAsyncConnection(dbPath);

        database.CreateTableAsync<FoodNutrient>().Wait();
    }

    public Task<int> SaveFoodNutrientAsync(FoodNutrient foodNutrient)
    {
        return database.InsertAsync(foodNutrient);
    }

    public Task<List<FoodNutrient>> GetFoodNutrientsAsync()
    {
        return database.Table<FoodNutrient>().ToListAsync();
        //return database.GetAllWithChildren<FoodNutrient>();
    }

}

1 Ответ

0 голосов
/ 07 мая 2019

Вам также необходимо использовать функцию InsertWithChildren из SQLiteExtensions.

Изменить функцию SaveFoodNutrientAsync следующим образом:

public Task<int> SaveFoodNutrientAsync(FoodNutrient foodNutrient)
{
    return database.InsertWithChildrenAsync(foodNutrient);
}

Это обновит TextBlob дозначение соответствует.Вам также нужно будет использовать GetAllWithChildren, чтобы получить свой объект с блобом.

public Task<List<FoodNutrient>> GetFoodNutrientsAsync()
{
    return database.GetAllWithChildren<FoodNutrient>();
}
...