我在 Windows 窗体项目中使用 Vici Coolstorage 来访问 SQLite 数据库。在我的数据库中的每个表中,都有一个名为 ID 的字段定义为 INTEGER PRIMARY KEY,因此它是一个自动递增字段。
在将对象存储在数据库中后,我试图检索该字段的值,但我总是得到值 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
谢谢!