2014-02-06 34 views
0

我在Windows Forms項目中使用Vici Coolstorage訪問SQLite數據庫。在我的數據庫的每個表中都有一個稱爲ID的字段定義爲INTEGER PRIMARY KEY,因此它是一個自動增量字段。使用Vici無法檢索自動生成的主鍵Coolstorage

我試圖在將對象存儲在數據庫中後檢索該字段的值,但我總是得到值0而不是真實ID。 Vici Coolstorage文檔指出:「如果主鍵被定義爲數據庫中的自動編號(標識)字段,則可以在保存對象後檢索生成的主鍵」,但這似乎不是真實的,除非我'我做錯了什麼。請幫幫我。此代碼將重現該問題:

<MapTo("Company")> Public MustInherit Class Company 
    Inherits CSObject(Of Company, Integer) 
    Public MustOverride ReadOnly Property ID As Integer 
    Public MustOverride Property Name As String 
End Class 

Sub SomeMethod() 
    Dim C As Company = Company.[New] 
    C.Name = "Some name" 
    C.Save() 
    MessageBox.Show(C.ID) 'This always prints 0!!! 
End Sub 

謝謝!

+0

您使用的是哪個版本的CoolStorage?你能否啓用日誌併發布INSERT和下列SQL語句? –

回答

0

曾經遇到過這個問題,並發現設置字段上的身份屬性解決了這個問題。

[Identity] 
public int Id 
{ 
    get { return (int)GetField("Id"); } 
}