Stardust.Paradox.Data
1.4.4
See the version list below for details.
dotnet add package Stardust.Paradox.Data --version 1.4.4
NuGet\Install-Package Stardust.Paradox.Data -Version 1.4.4
<PackageReference Include="Stardust.Paradox.Data" Version="1.4.4" />
paket add Stardust.Paradox.Data --version 1.4.4
#r "nuget: Stardust.Paradox.Data, 1.4.4"
// Install Stardust.Paradox.Data as a Cake Addin #addin nuget:?package=Stardust.Paradox.Data&version=1.4.4 // Install Stardust.Paradox.Data as a Cake Tool #tool nuget:?package=Stardust.Paradox.Data&version=1.4.4
Usage (asp.net core)
Startup.cs
ConfigureServices
Add the generated entity implementations to the IOC container (I will provide an extention method to make this easier)
services.AddEntityBinding((entityType, entityImplementation) => services.AddTransient(entityType, entityImplementation))
.AddScoped<MyEntityContext,MyEntityContext>()
.AddScoped<IGremlinLanguageConnector>(s => new CosmosDbLanguageConnector(DbAccountName, AccessKey, "databaseName","collectionName"));
Defining the model
[VertexLabel("person")]
public interface IPerson : IVertex
{
string Id {get;}
string FirstName { get; set; }
string LastName { get; set; }
string Email { get; set; }
IEdgeCollection<IPerson> Parents { get; }
IEdgeCollection<IPerson> Children { get; }
IEdgeCollection<IPerson> Siblings { get; }
[EdgeLabel("city")] //pointing to the Residents property in ICity
IEdgeReference<ICity> HomeCity { get; }//use IEdgeReference to enable task-async operations
IEdgeCollection<ICompany> Employers { get; }
}
[VertexLabel("city")]
public interface ICity : IVertex
{
string Id { get; }
string Name { get; set; }
string ZipCode { get; set; }
[ReverseEdgeLabel("city")] //pointing to the HomCity property in IPerson
IEdgeCollection<Iperson> Residents { get; } //use IEdgeCollection to enable task-async operations on the collection
IEdgeReference<ICountry> Country { get; }
}
[VertexLabel("company")]
public interface ICompany : IVertex
{
string Id { get; }
string Name { get; set; }
IEdgeCollection<ICompany> Employees { get; }
}
[VertexLabel("country")]
public interface ICountry : IVertex
{
string Id { get; }
string Name { get; set; }
string CountryCode { get; set; }
string PhoneNoPrefix { get; set; }
IEdgeCollection<ICity> Cities { get; }
}
Defining the entity context and generating the entity implementations
public class MyEntityContext : Stardust.Paradox.Data.GraphContextBase
{
public IGraphSet<IPerson> Persons => GraphSet<IPerson>();
public IGraphSet<ICity> Cities => GraphSet<ICity>();
public IGraphSet<ICountry> Countries => GraphSet<ICountry>();
public IGraphSet<ICompany> Companies => GraphSet<ICompany>();
public MyEntityContext(IGremlinLanguageConnector connector, IServiceProvider resolver) : base(connector, resolver)
{
}
protected override bool InitializeModel(IGraphConfiguration configuration)
{
//Added some fluent configuration of the edges
configuration.ConfigureCollection<IPerson>()
.AddEdge(t => t.Children, "children").Reverse<IPerson>(t => t.Parents)
.ConfigureCollection<ICity>()
.ConfigureCollection<ICountry>()
.AddEdge(t=>t.Cities).Reverse<ICountry>(t=>t.Country)
.ConfigureCollection<ICompany>()
.AddEdge(t => t.Employees, "employees").Reverse<IPerson>(t => t.Employers);
return true;
}
}
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. |
.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
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.1.1)
- Newtonsoft.Json (>= 10.0.3)
- Stardust.Paradox.Data.Annotations (>= 1.3.2)
- Stardust.Particles (>= 5.0.1)
- System.Reflection (>= 4.3.0)
- System.Reflection.Emit (>= 4.3.0)
- System.Reflection.Emit.ILGeneration (>= 4.3.0)
- System.Reflection.Emit.Lightweight (>= 4.3.0)
- System.Reflection.Primitives (>= 4.3.0)
- System.Reflection.TypeExtensions (>= 4.4.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Stardust.Paradox.Data:
Package | Downloads |
---|---|
Stardust.Paradox.Data.Providers.Gremlin
Entityframework styled tool for accessing gremlin based graph databases like CosmosDB and Apache Tinkerpop A database connector based on gremlin.net |
|
Stardust.Paradox.Data.Providers.CosmosDb
[This package will be deprecated in V 3.0, consider moving to 'Stardust.Paradox.Data.Providers.Gremlin'] Connector for CosmosDb using the document client |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.0.0-rc03 | 802 | 2/14/2020 |
3.0.0-rc01 | 534 | 2/14/2020 |
2.3.16 | 135 | 11/1/2024 |
2.3.15 | 474 | 10/30/2024 |
2.3.14 | 2,452 | 10/20/2023 |
2.3.13 | 156 | 10/20/2023 |
2.3.10 | 335 | 9/22/2023 |
2.3.9 | 286 | 9/7/2023 |
2.3.8 | 3,182 | 2/7/2023 |
2.3.7 | 2,766 | 5/4/2022 |
2.3.6 | 4,343 | 10/12/2020 |
2.3.5 | 483 | 10/7/2020 |
2.3.4 | 3,712 | 1/13/2020 |
2.3.3 | 622 | 1/8/2020 |
2.3.2 | 554 | 1/8/2020 |
2.3.1 | 504 | 1/7/2020 |
2.3.0 | 1,126 | 12/2/2019 |
2.2.0 | 987 | 11/12/2019 |
2.1.7 | 520 | 11/5/2019 |
2.1.6 | 523 | 10/8/2019 |
2.1.5 | 520 | 9/16/2019 |
2.1.4 | 516 | 8/13/2019 |
2.1.3 | 1,448 | 6/5/2019 |
2.1.2 | 599 | 5/28/2019 |
2.1.1 | 1,999 | 4/2/2019 |
2.1.0 | 1,169 | 4/2/2019 |
2.0.6 | 753 | 4/1/2019 |
2.0.5 | 1,172 | 3/27/2019 |
2.0.4 | 1,001 | 3/6/2019 |
2.0.0 | 1,092 | 2/20/2019 |
2.0.0-pre29 | 551 | 2/19/2019 |
2.0.0-pre26 | 521 | 2/14/2019 |
2.0.0-pre23 | 516 | 2/12/2019 |
2.0.0-pre15 | 527 | 2/6/2019 |
2.0.0-pre11 | 572 | 2/4/2019 |
2.0.0-pre09 | 531 | 1/25/2019 |
2.0.0-pre02 | 589 | 1/16/2019 |
2.0.0-pre01 | 612 | 12/5/2018 |
1.4.9 | 643 | 2/8/2019 |
1.4.8 | 773 | 12/6/2018 |
1.4.7 | 1,197 | 11/28/2018 |
1.4.5 | 768 | 11/21/2018 |
1.4.4 | 718 | 11/20/2018 |
1.4.3 | 1,186 | 11/6/2018 |
1.4.1 | 726 | 10/30/2018 |
1.4.0 | 737 | 10/22/2018 |
1.3.11 | 727 | 10/16/2018 |
1.3.5 | 768 | 10/15/2018 |
1.3.4 | 815 | 10/8/2018 |
1.3.3 | 822 | 10/2/2018 |
1.3.2 | 835 | 9/11/2018 |
1.3.1 | 915 | 8/23/2018 |
1.3.0 | 1,335 | 8/23/2018 |
1.2.0 | 892 | 8/20/2018 |
1.1.5 | 873 | 8/15/2018 |
1.0.4 | 1,041 | 8/14/2018 |
1.0.3 | 854 | 8/13/2018 |
1.0.2 | 850 | 8/13/2018 |
1.0.1 | 1,128 | 8/10/2018 |
1.0.0-pre005 | 812 | 7/3/2018 |
1.0.0-pre001 | 1,072 | 6/11/2018 |
1.3: Added fluent configuration of edge references
1.3: Added basic Edge properties support
1.4: Performance improvements and bugfixes