如何使用SQLite使用create table命令创建索引?

问题描述 投票:0回答:2

我正在使用此代码创建一个表:

db2.CreateTable<Phrase>();

这是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上创建索引?

sqlite xamarin xamarin.forms
2个回答
1
投票

对于单个基于属性的索引,添加一个IndexedAttribute

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

对于多字段索引,请使用IndexedAttribute中的Name和Order参数:

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; }
    ~~~

1
投票

尝试

  [Indexed]
  public int PhraseNum { get; set; }
© www.soinside.com 2019 - 2024. All rights reserved.