Хранение списка в SQL в Xamarin - PullRequest
0 голосов
/ 28 октября 2019

У меня есть пользовательский класс, который я создал для объекта User. В этом пользовательском объекте у него есть свойство List. При попытке сохранить его в базе данных SQLite в моем приложении оно говорит, что не поддерживает сохранение списков. Есть ли какой-нибудь способ иметь возможность постоянно хранить списки родовых типов в Xamarin, чтобы при входе пользователя в систему он мог видеть список, связанный с его учетной записью? Код ниже.

Класс пользователя.

    public class User
    {
        [PrimaryKey, AutoIncrement, Unique]
        public int ID { get; set; }
        public string Name { get; set; }
        public string Email { get; set; }
        public string Password { get; set; }
        public string AuthToken { get; set; }
        public List<HabytItem> Habyts { get; set; } //Want to store this list in a database.
    }

Спасибо за любую помощь!

1 Ответ

1 голос
/ 28 октября 2019

Вы можете открыть readme documentation в предыдущей версии здесь: sqlite-net-extensions , есть пример, показывающий, как сохранить список в SQL с SQLite-Net Extensions версией:

С расширениями SQLite-Net больше не нужно писать запросы вручную, просто укажите отношения в сущностях:

public class Stock
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }
    [MaxLength(8)]
    public string Symbol { get; set; }

    [OneToMany(CascadeOperations = CascadeOperation.All)]      // One to many relationship with Valuation
    public List<Valuation> Valuations { get; set; }
}

public class Valuation
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }

    [ForeignKey(typeof(Stock))]     // Specify the foreign key
    public int StockId { get; set; }
    public DateTime Time { get; set; }
    public decimal Price { get; set; }

    [ManyToOne]      // Many to one relationship with Stock
    public Stock Stock { get; set; }
}

В документе также есть Read and write operations, на который вы можете ссылаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...