【发布时间】:2014-02-21 09:48:45
【问题描述】:
使用 VB.net,创建一个名为人员的新类,具有三个属性: Name , LastName, ID - 应该适合用作数据库中的主键。
提供一个类构造函数来填充 Name 和 LastName。 ID 应在构造函数中自动生成,不应传入。
我知道如何创建类、属性和构造函数,我只需要知道如何在构造函数中自动生成 ID 字段。是否有可能做到这一点?
我通常做的是将数据库中的 id 字段设置为身份字段和主键,以便它自动插入下一个可用的 id,或者在我的应用程序中,我从数据库中读取最后一个 ID 并向其中添加一个。但我需要知道如何在构造函数中自动生成 ID 字段。
【问题讨论】:
-
构造函数中生成的ID是否只需要在内存中的所有对象中唯一,还是需要在已经存储到DB的所有对象中唯一?
-
它需要在数据库中是唯一的,因为问题说它应该适合用作数据库中的主键。
-
在这种情况下,构造函数无法生成唯一 ID except 作为 GUID 或类似的东西。在之后将它插入数据库之前,无法知道自增 ID 是什么。
-
没错,你是对的。它的常识,你需要阅读数据库才能知道最后插入的 ID 是什么。
-
@Diana 是的,即使在这种情况下(从数据库中读取),您也必须考虑并发性。要正确完成这一切并非易事(除非您使用的东西是 - 应该是 - 本身独一无二的东西,比如 GUID)。
标签: vb.net constructor