SequentialGuid 2.2.1
See the version list below for details.
dotnet add package SequentialGuid --version 2.2.1
NuGet\Install-Package SequentialGuid -Version 2.2.1
<PackageReference Include="SequentialGuid" Version="2.2.1" />
<PackageVersion Include="SequentialGuid" Version="2.2.1" />
<PackageReference Include="SequentialGuid" />
paket add SequentialGuid --version 2.2.1
#r "nuget: SequentialGuid, 2.2.1"
#:package SequentialGuid@2.2.1
#addin nuget:?package=SequentialGuid&version=2.2.1
#tool nuget:?package=SequentialGuid&version=2.2.1
SequentialGuid
Will generate Sequential Guids based on MongoDB's ObjectId specification. Date & time are encoded into the value so you do not need to store them separately in your database
Define an interface to the signature you like
public interface IIdGenerator
{
Guid NewId();
}
Define your implementing class which can be transient since the singleton is implemented by the framework
public class SequentialIdGenerator : IIdGenerator
{
public Guid NewId() => SequentialGuidGenerator.Instance.NewGuid();
}
Wire it up to .NET Core dependency injection in the ConfigureServices method during application startup
public void ConfigureServices(IServiceCollection services)
{
`services.AddTransient<IIdGenerator, SequentialIdGenerator>();`
}
Finally define a base entity for your application which will contain an id and a timestamp as soon as you initialize it. Note I do not advocate setting a default Id getter this way just illustrating it can be done
public abstract class BaseEntity
{
public Guid Id { get; set; } = SequentialGuidGenerator.Instance.NewGuid();
public DateTime? Timestamp => Id.ToDateTime();
// If you really must have non-UTC time
public DateTime? LocalTime => Id.ToDateTime()?.ToLocalTime();
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages (15)
Showing the top 5 NuGet packages that depend on SequentialGuid:
| Package | Downloads |
|---|---|
|
BR.MicroServices.Utilities
Package Description |
|
|
SequentialGuid.NodaTime
Provide extension methods to round trip between NodaTime Instant and sequential guid |
|
|
Loyo.EntityFramework
EntityFrameworkCore UnitOfWork Repositories |
|
|
Atomiv.Infrastructure.SequentialGuid
Package Description |
|
|
Optivem.Atomiv.Infrastructure.SequentialGuid
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.6 | 77,576 | 2/19/2025 |
| 4.0.5 | 150,111 | 3/20/2024 |
| 4.0.4 | 440,488 | 2/27/2023 |
| 4.0.3 | 50,085 | 10/25/2022 |
| 4.0.2 | 8,935 | 10/20/2022 |
| 4.0.1 | 5,512 | 10/10/2022 |
| 4.0.0 | 3,943 | 10/5/2022 |
| 3.0.1 | 120,082 | 2/22/2022 |
| 3.0.0 | 38,079 | 9/15/2021 |
| 2.5.0 | 267,252 | 11/18/2020 |
| 2.4.2 | 22,223 | 7/31/2020 |
| 2.4.1 | 56,945 | 7/8/2020 |
| 2.4.0 | 192,024 | 12/13/2017 |
| 2.2.1 | 2,591 | 10/17/2017 |
| 2.2.0 | 2,572 | 9/24/2017 |
| 1.0.0 | 5,906 | 2/17/2014 |
Moved to .netstandard2.0 so it can be used with .NET Core on Linux & OSX