LinQL 0.1.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package LinQL --version 0.1.0
NuGet\Install-Package LinQL -Version 0.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LinQL" Version="0.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LinQL --version 0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: LinQL, 0.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install LinQL as a Cake Addin #addin nuget:?package=LinQL&version=0.1.0 // Install LinQL as a Cake Tool #tool nuget:?package=LinQL&version=0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
LinQL
LINQ-like access to GraphQL endpoints in .Net
Getting Started
- Install the Nuget package
dotnet add package LinQL
- Create a
Graph
and aRootType
public class StarWarsGraph : Graph
{
public StarWarsGraph(IGraphQLConnection connection, IQueryTranslator queryTranslator)
: base(connection, queryTranslator)
{
}
public StarWarsQueries Query => this.RootType<StarWarsQueries>();
}
[OperationType]
public class StarWarsQueries : RootType<StarWarsQueries>
{
public Film Film { get; set; }
[GraphQLOperation, GraphQLField(Name = "film")]
public Film GetFilm(string id) => this.Film;
}
public class Film
{
[GraphQLField(Name = "ID")]
public string? Id { get; set; }
[GraphQLField(Name = "episodeID")]
public int EpisodeId { get; set; }
public string? Title { get; set; }
}
- Add a graph client to DI
public void ConfigureServices(IServiceCollection services)
{
services.AddGraphQLClient<StarWarsGraph>()
.WithHttpConnection(c => c.BaseAddress = new Uri("https://swapi-graphql.netlify.app/.netlify/functions/index"))
}
Underneath, WithHttpConnection
is just setting up IHttpClientFactory
so anything you can configure with that, you can configure here; authentication headers, middleware etc.
- Write queries!
public class StarWarsClient
{
private readonly StarWarsGraph graph;
public StarWarsClient(StarWarsGraph graph) => this.graph = graph;
public async Task<Film> GetFilmById(string id, CancellationToken cancellationToken)
=> await this.graph.Query.Select(x => x.GetFilm(id)).Execute(cancellationToken);
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- FastExpressionCompiler (>= 3.3.2)
- Microsoft.Extensions.Http (>= 6.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on LinQL:
Package | Downloads |
---|---|
LinQL.GraphQL.Client
LINQ-like access to GraphQL endpoints in .Net |
GitHub repositories
This package is not used by any popular GitHub repositories.