sqlite-net-pclで使用するテーブル定義用のクラスに、複数のPrimaryKeyを指定する方法
SQLiteでテーブル定義用のクラスを使用しますが、PrimaryKeyを複数指定する方法について。
Xamarin.iOS SQLite.NET を使用する - Xamarin | Microsoft Docs
より、複数の主キーには対応してないとのこと。
PrimaryKeyが1つなら、
[Table("stock")] public class Stock { [PrimaryKey] [Column("id")] [NotNull] public int Id{ get; set; } [Column("name")] [NotNull] public string Name { get; set; } = ""; }
としますが、複数の場合は
[Table("stock")] public class Stock { [Indexed(Name = "INDEX01", Order = 1, Unique = true)] [Column("id")] [NotNull] public int Id{ get; set; } [Indexed(Name = "INDEX01", Order = 2, Unique = true)] [Column("name")] [NotNull] public string Name { get; set; } = ""; }
のようにするそうです。
参考にしたサイトはこちら。
xamarin - C# SQLite-net define multi column unique - Stack Overflow