0
私は主なデータソースとしてSQliteを使用するXamarinを使用してAndroidアプリを構築しています。私は、オブジェクトをデータベースに挿入するという考え方に頭をはくすのが難しいです。主キーに言及せずにオブジェクトを挿入しようとすると、「Constraint」エラーメッセージが表示されます。例えばプライマリキーを指定せずにSQlite内にデータを挿入するには?
次のように私はテーブルの「製品」を持っている:
class Person
{
[PrimaryKey, Unique]
public int ID { get; set; }
public String personName { get; set; }
public int photoId { get; set; }
}
私はdb.Insert(new Person(){personName = "xyz", photoId = 23})
をすれば、私は、エラーメッセージが表示されますが、私はdb.Insert(new Person(){ID = 1, personName = "xyz", photoId = 23})
データ挿入を行う場合は成功するでしょう。プライマリキーを指定せずにプライマリキーをnullにできないようにするには、どうすればデータを挿入できますか? IDプロパティにAutoIncrement
属性を追加
私は自動インクリメントアノテーションを使用した場合、何が、私は彼らの主キーで挿入しようとするデータに起こるのだろうか? –
IDプロパティを指定せずに新しいレコードを追加することができます。データベースは自動的に一意のIDを生成します。 –
プライマリキーを指定すると、プライマリキーのどの値が追加されるのかという質問がありました。私が指定したものか、注釈によって生成されたものか? –