Xamarin формы sql облегченная таблица добавить ограничения внешнего ключа - PullRequest
0 голосов
/ 08 февраля 2020

У меня есть приложение, создающее таблицы с использованием моделей, в которые я хочу добавить ограничения внешнего ключа.

Вот базовая таблица:

public class BaseTable
{
    [PrimaryKey, AutoIncrement]
    public int ID { get; set; }
    public string Name { get; set; }
}

Вот дочерняя таблица

public class ChildTable
{
    [ForeignKeyConstraint(BaseTable.ID, ID)]
    public int ID { get; set; }
    public string Name { get; set; }
}

В моем App.xaml.cs я создаю БД примерно так:

database.CreateTable<BaseTable>();
database.CreateTable<ChildTable>();

Для этой строки:

[ForeignKeyConstraint(BaseTable.ID, ID)]

Я получаю объект ref, который имеет смысл, однако я хочу добавить отношения внешнего ключа в дочернюю таблицу модели.

Заранее благодарен за любые советы о том, как я могу выполнить sh это

1 Ответ

1 голос
/ 08 февраля 2020

После установки SQLiteNetExtensions я смог сделать следующее, чтобы решить мою проблему:

public class ChildTable
{
    [ForeignKey(typeof(BaseTable))]
    public int ID { get; set; }
    public string Name { get; set; }
}

Затем обновил мою базовую таблицу следующим образом:

public class BaseTable
{
    [PrimaryKey, AutoIncrement]
    public int ID { get; set; }
    public string Name { get; set; }
    [OneToMany(CascadeOperations = CascadeOperation.All)] 
    public List<ChildTable> ChildTables { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...