我正在使用此代码创建一个表:
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上创建索引?
对于单个基于属性的索引,添加一个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; }
~~~
尝试
[Indexed]
public int PhraseNum { get; set; }