将Guid转换为字符串

时间:2013-03-27 13:03:17

标签: c# linq entity-framework ef-code-first guid

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

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

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

我很确定它会起作用,但我不想在未来遇到问题或通过这样做来制造漏洞。

2 个答案:

答案 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类型的属性,用于屏蔽实体的字符串属性。