在没有本机UUID/GUID数据类型的数据库中存储UUID/GUID的最有效数据类型是什么?2 BIGINTs?
什么是最有效的代码(C#首选)转换为GUID到该类型?
谢谢.
有时,当我使用visual studio生成GUID时,第14个十六进制字符为小写,而其余十六进制数字为大写.
比较两个GUID的字符串表示时会引起一些问题.现在我总是比较二进制等价物是安全的.
可能重复:
GUID/UUID数据库密钥的优缺点
在任何情况下,必须将GUID用作SQL Server 2005/8数据库中的主键.例如,使用MS Sync Framework强制执行此操作还是数据复制?
到目前为止,我一直在使用C#"Guid = Guid.NewGuid();" 生成唯一ID的方法,该ID可以使用Linq to SQL存储在我的某些SQL Server数据库表中作为ID字段.我被告知,出于索引的原因,使用GUID是一个坏主意,我应该使用自动递增Long.将使用长时间加速我的数据库事务?如果是这样,我该如何生成Long类型的唯一ID?
问候,
如何在属性中使用静态Guid作为参数?
static class X
{
public static readonly Guid XyId = new Guid("---");
}
[MyAttribute(X.XyId)] // does not work
public class myClass
{
}
Run Code Online (Sandbox Code Playgroud)
它不起作用,因为Guid必须是readonly,它不能是const.string和byte []表示也是readonly.
这有什么解决方法吗?
我目前正在研究MongoDb作为一个可能的数据库选项,我在处理Guid序列化时遇到了麻烦.我一开始认为这可能是C#驱动程序序列化中的一个错误,但现在我认为这更像是一个天真的假设.
为了帮助我将Bson base64表示来回转换为Guids,我写了几个小的powershell函数来帮助:
function base64toguid
{
param($str);
$b = [System.Convert]::FromBase64String($str);
$hex = "";
foreach ($x in $b) {
$hex += $x.ToString("x2");
}
$g = new-object -TypeName System.Guid -ArgumentList $hex;
return $g;
}
function guidtobase64
{
param($str);
$g = new-object -TypeName System.Guid -ArgumentList $str;
$b64 = [System.Convert]::ToBase64String($g.ToByteArray());
return $b64;
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题的一个例子:
:) guidtobase64("53E32701-9863-DE11-BD66-0015178A5E3C");
ASfjU2OYEd69ZgAVF4pePA==
:) base64toguid("ASfjU2OYEd69ZgAVF4pePA==");
Guid
----
0127e353-6398-11de-bd66-0015178a5e3c
Run Code Online (Sandbox Code Playgroud)
从mongo shell:
:) mongo
MongoDB shell version: 1.6.5
connecting to: test
> b = new BinData(3, "ASfjU2OYEd69ZgAVF4pePA==");
BinData(3,"ASfjU2OYEd69ZgAVF4pePA==")
> b.hex();
127e353639811debd66015178a5e3c
> …Run Code Online (Sandbox Code Playgroud) 我想使用Spine.js客户端框架,它生成UUID作为模型的ID,然后可以持久化到服务器.如果我只是将客户端生成的UUID用于模型,并将它们保存在服务器上,那将是最简单的.
在Rails中使用客户端生成的UUID作为主键有什么缺点?
我有一些继承的代码,SELECT SYS_GUID() FROM DUAL每次创建实体时调用.这意味着对于每次插入,有两次调用Oracle,一次调用,另一次调用Guid数据.
我认为可能有一个很好的理由,例如 - Oracle的Guids可以通过顺序进行优化以进行高容量插入,因此它们可能试图避免过多的索引树重新平衡.
是否有理由使用SYS_GUID而不是Guid在客户端上构建自己的?
如何在c#asp.net中生成16位唯一随机数而不重复,因为我已经阅读了GUID的概念,它生成字符和数字,但我不想要字符
请建议有没有办法实现它
我试图在Lua中实现一个模式,但没有成功
我需要的模式就像正则表达式: [a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}
这是验证guid.
我无法找到在Lua中找到工具正则表达式的正确方法,也无法在文档中找到.
请帮我实现guid以上的正则表达式.
guid ×10
c# ×3
uuid ×3
primary-key ×2
sql-server ×2
asp.net ×1
attributes ×1
c#-4.0 ×1
const ×1
database ×1
long-integer ×1
lua ×1
lua-patterns ×1
model ×1
mongodb ×1
oracle ×1
powershell ×1
random ×1
regex ×1
spine.js ×1
sql ×1