0

我正在创建一个应用程序,我想尝试使用 GUID。我首先使用实体​​框架代码和 LINQ,所以我认为最简单的方法是使用

string guid = Guid.NewGuid().ToString();
var acc = new v_Account();   
acc.v_AcctGuid = guid;

然后将我的 GUID 作为类型字符串存储在我的数据库中。这是一个不好的做法吗?GUID 真的只是一个全局唯一的随机生成的字符串吗?

我很确定它会起作用,但我只是不想面对未来的问题或通过这样做来制造漏洞。

4

2 回答 2

6

GUID 作为一种uniqueidentifier类型直接映射到 MSSQL 数据库。所以没有必要对其进行字符串化。

直接使用即可:

acc.v_AcctGuid = Guid.NewGuid();

假设:

public class Account
{
    public Guid v_AcctGuid { get; set; }
}
于 2013-03-27T13:07:47.110 回答
1

如果您的目标数据库不支持 GUID(SQLite例如),那么可以将其存储为字符串,然后将它们作为 GUID 公开给业务层,对屏蔽了 GUID 类型的属性的 getter 和 setter 进行必要的转换实体的字符串属性。

于 2013-03-27T13:08:29.603 回答