21

複数列の一意の制約をサポートする SQLite-net の変更への参照を見てきました。私はそれがsqliteで直接できることを知っていますが、私は物事を行うためのsqlite-netメソッドにとどまることを好みます. 複数列を一意にするための構文は何ですか。Single は、一意にしたい列の上にある [Unique] です。

4

1 に答える 1

45

プロジェクトに含まれる実際の単体テストを確認することで、答えを見つけました。これは、インデックス属性で名前付きパラメーターを使用することに基づいています。例えば:

    [Indexed(Name = "ListingID", Order = 2, Unique = true)]
    public string   ListingNumber { get; set; }
    [Indexed(Name = "ListingID", Order = 1, Unique = true)]
    public string   ChannelCode { get; set; }

一意である必要がある 2 つのフィールドに ListingID という名前のインデックスを作成します。一意の属性が必要ない場合は、パラメータとして削除してください。これを機能させるには、名前付きパラメーターを使用する必要があります。また、インデックス内のすべてのフィールドは同じ Unique 値を持つ必要があります。

于 2013-09-12T06:52:35.997 に答える