我在Windows Forms项目中使用Vici Coolstorage来访问SQLite数据库。在我的数据库中的每个表中,都有一个名为ID的字段被定义为整数主键,因此它是一个自动增量字段。
在我将对象存储到数据库中之后,我试图检索该字段的值,但我总是得到值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谢谢!
发布于 2014-03-30 09:54:57
已经面对了这个问题,并认为在字段上设置身份属性解决了这个问题。
[Identity]
public int Id
{
get { return (int)GetField("Id"); }
}https://stackoverflow.com/questions/21591959
复制相似问题