?
random!= unique.
, . - . ?
Guid [. ]. , , .
[.. ],
OrmObject ormObject= new OrmObject ();
string code = string.
Format ("{0} [{1}]", ormObject.Name, Guid.NewGuid ()).
Trim ();
ormObject.Name . typeof (objectInstance.GetType ()).Name, , OrmObject , , , . , - , , @Yuriy Faktorovich, wtf article - .
- . , , .
, ,
public static class IRandomExtensions
{
public static CodeType GetCode (this IRandom random)
{
...
}
}
...
OrmObject ormObject = new OrmObject ();
ormObject.Code = random.GetCode ();
...
, IRandom System.Security.Cryptography.RNGCryptoServiceProvider. X , , .
- , , , ! - CodeType - , "" Base64
public static class IRandomExtensions
{
public static string GetCode (this IRandom random)
{
byte[] randomBytes;
string randomBase64String =
System.Convert.ToBase64String (randomBytes).Trim ("=");
...
}
}
random!= unique.
. .
, .
Code ? [ , ]Code? [ , Guid]- ? [ , DB, @LBushkin ]
- , ? [ , , Guids - ]
, , , , , . . .
, :)
Btw, , [.. ] . , Code, ? ? ?
, , . Guids, "" , base64 - base64 .
public static class GuidExtensions
{
public static string ToBase64String (this Guid id)
{
return System.Convert.
ToBase64String (id.ToByteArray ()).
Trim ("=");
}
}
, base64 . , base64, = , , , Guid. base64, base64, 4 - , base64, :)