WP8用のSQLiteライブラリを使用しようとしています。
テーブルを定義しました:
class ShoppingItem
{
[SQLite.PrimaryKey]
public int Id {get; set;}
public string Name {get; set;}
public string Shop {get; set;}
public bool isActive {get; set;}
}
http://www.sqlite.org/autoinc.htmlによると、の値が指定さId
れていない場合、値はsqliteによって自動的に割り当てId
られます。右?
だから私は新しいエントリを挿入しようとします
using (var db = new SQLiteConnection(m_DatabasePath)) {
db.Insert(new ShoppingItem() {
Name = anItem,
Shop = aShop,
isActive = aIsActive,
});
}
最初のアイテムを挿入すると、ID0が取得されます。2番目の項目を挿入すると、すばらしいメッセージ「Constraint」を含むSQLiteExceptionが発生します。では、IDを指定せずに新しいエントリを挿入するにはどうすればよいですか?
ところで:別の解決策として、idにnull値を追加しようとしましたが、これによりコンパイルエラーが発生しました。:(
...
db.Insert(new ShoppingItem() {
Id = null, // <- does not compile
Name = anItem,
...