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