我正在创建一个应用程序,我想尝试使用GUID。我首先使用实体框架代码和LINQ,所以我认为最简单的方法是使用
string guid = Guid.NewGuid().ToString();
var acc = new v_Account();
acc.v_AcctGuid = guid;
然后将我的GUID存储为数据库中的类型字符串。这是一种不好的做法吗? GUID真的只是一个全局唯一的随机生成的字符串吗?
我很确定它会起作用,但我不想在未来遇到问题或通过这样做来制造漏洞。
答案 0 :(得分:6)
GUID以uniqueidentifier
类型直接映射到MSSQL数据库。所以没有必要对其进行字符串化。
直接使用它:
acc.v_AcctGuid = Guid.NewGuid();
假设:
public class Account
{
public Guid v_AcctGuid { get; set; }
}
答案 1 :(得分:1)
如果您要定位的数据库不支持GUID(例如SQLite
),那么可以将其作为字符串存储,然后将它们作为GUID公开给业务层,在getter和setter上进行必要的转换。 GUID类型的属性,用于屏蔽实体的字符串属性。