Как я могу использовать SQLite для создания индекса с помощью команды создания таблицы? - PullRequest
0 голосов
/ 01 сентября 2018

Я использую этот код для создания таблицы:

db2.CreateTable<Phrase>();

Вот класс фразы:

public class Phrase : IPhrase
{
    [PrimaryKey, NotNull]
    public string PhraseId { get; set; }
    public int PhraseNum { get; set; }
    public int CategoryId { get; set; }
    public string English { get; set; }
    public string Romaji { get; set; }
}

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

Кто-нибудь знает, как я могу, например, создать индекс по PhraseNum?

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Для отдельного индекса на основе свойств добавьте IndexedAttribute:

public class Package
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }
    [Indexed]
    public string Name { get; set; }
    ~~~~

Для индекса с несколькими полями используйте параметры Name и Order в IndexedAttribute:

public class Package
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }
    [Indexed(Name = "SecondaryIndex", Order = 1)]
    public string Name { get; set; }
    [Indexed(Name = "SecondaryIndex", Order = 2)]
    public string PackageName { get; set; }
    ~~~
0 голосов
/ 01 сентября 2018

Попробуйте

  [Indexed]
  public int PhraseNum { get; set; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...