當使用OrmLite增加似乎有這樣做的兩種方式的進入數據庫:OrmLite更新()與保存()
dbConn.Insert(customer);
和
dbConn.Save(customer);
當使用插入( )AutoIncrement ID字段沒有得到更新,但是當使用Save()時,它確實如此。
如果你使用:
dbConn.LastInsertId();
它將返回正確的ID,如果使用保存(),但錯誤的ID,如果使用插入()。
爲什麼這兩種方法存在?使用Insert()會使用正確的ID向數據庫添加一個條目,但它並未反映在POCO模型中。看起來奇怪的是,沒有拋出異常並且沒有任何問題跡象,如果您不知道這一點,最終可能會使用錯誤的ID並難以跟蹤錯誤。
已將[AutoIncrement]添加到您的POCO中? – reptildarat
是的我在ID字段有[AutoIncrement]屬性。 – Dru