{"id":19099944,"url":"https://github.com/geldata/gel-net","last_synced_at":"2025-04-18T17:32:24.815Z","repository":{"id":60376872,"uuid":"540526174","full_name":"edgedb/edgedb-net","owner":"edgedb","description":"The official .NET client library for EdgeDB","archived":false,"fork":false,"pushed_at":"2024-06-05T15:27:13.000Z","size":2578,"stargazers_count":83,"open_issues_count":11,"forks_count":9,"subscribers_count":7,"default_branch":"dev","last_synced_at":"2024-09-18T10:53:26.433Z","etag":null,"topics":["cs","csharp","database","dotnet","edgedb","efcore","fs","fsharp"],"latest_commit_sha":null,"homepage":"https://edgedb.com","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edgedb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["quinchs"]}},"created_at":"2022-09-23T16:24:49.000Z","updated_at":"2024-08-16T15:57:05.000Z","dependencies_parsed_at":"2023-09-25T23:05:49.865Z","dependency_job_id":"5d35b07d-39f0-4f04-960a-fcc6c5d3bcd8","html_url":"https://github.com/edgedb/edgedb-net","commit_stats":{"total_commits":361,"total_committers":15,"mean_commits":"24.066666666666666","dds":0.1800554016620498,"last_synced_commit":"5e3c67e4f1d142fcb5c4a365ff2347d3089f5104"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgedb%2Fedgedb-net","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgedb%2Fedgedb-net/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgedb%2Fedgedb-net/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edgedb%2Fedgedb-net/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edgedb","download_url":"https://codeload.github.com/edgedb/edgedb-net/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223783108,"owners_count":17201903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cs","csharp","database","dotnet","edgedb","efcore","fs","fsharp"],"created_at":"2024-11-09T03:52:24.041Z","updated_at":"2025-04-18T17:32:24.806Z","avatar_url":"https://github.com/edgedb.png","language":"C#","funding_links":["https://github.com/sponsors/quinchs"],"categories":["dotnet","csharp"],"sub_categories":[],"readme":"![Gel.Net](https://raw.githubusercontent.com/geldata/gel-net/dev/branding/Banner.png)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.nuget.org/packages/Gel.Net.Driver/\"\u003e\n    \u003cimg src=\"https://img.shields.io/nuget/dt/Gel.Net.Driver\" alt=\"Downloads\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.nuget.org/packages/Gel.Net.Driver/\"\u003e\n    \u003cimg src=\"https://img.shields.io/nuget/vpre/Gel.Net.Driver.svg?maxAge=2592000?style=plastic\" alt=\"NuGet\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/geldata/gel-net/actions/workflows/tests.yml\"\u003e\n    \u003cimg src=\"https://github.com/geldata/gel-net/actions/workflows/tests.yml/badge.svg?branch=dev\" alt=\"Tests\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://discord.gg/tM4EpAaeSq\"\u003e\n    \u003cimg src=\"https://discord.com/api/guilds/841451783728529451/widget.png\" alt=\"Discord\"\u003e\n  \u003c/a\u003e\n\n  \u003cp align=\"center\"\u003e\n    Gel.Net is the official .NET driver for the \u003ca href=\"https://www.geldata.com\"\u003eGel\u003c/a\u003e database.\n  \u003c/p\u003e\n\u003c/p\u003e\n\n## Installation\n\nGel.Net is distributed through the NuGet package manager.\nWe recommend using the `dotnet` command or NuGet package manager in Visual\nStudio:\n\n```bash\n$ dotnet add package Gel.Net.Driver\n```\n\n## Basic usage\n\n### Creating a client\n\nClients are what allow your code to talk and interface with Gel. The\n`GelClientPool` class contains a pool of connections and numerous abstractions\nfor executing queries with ease:\n\n```cs\nusing Gel;\n\nvar client = new GelClientPool();\n```\n\n### Client configuration\n\n`GelClientPool` will automatically determine how to connect to your Gel\ninstance by resolving [Gel Projects](https://docs.geldata.com/learn/projects).\nFor specifying custom connection arguments, considering checking out the\n`GelConnection` class. Here's an example of using the `.Create()` method:\n\n```cs\nusing Gel;\n\nvar connection = GelConnection.Create(\n  new GelConnection.Options(){dsn=\"gel://user:password@localhost:5656/mybranch\"}\n);\nvar client = new GelClientPool(connection);\n```\n\n### Executing queries\n\n**Note**: Gel.Net is a fully asynchronous driver, and as such, all I/O\noperations are performed asynchronously.\n\n\nQueries are executed through the `GelClientPool` by using different helper\nmethods. Your choice of method is dependent on the kind of query you're making,\nbetter known as [cardinality](https://docs.geldata.com/reference/edgeql/sets#everything-is-a-set).\n\nQuery helper methods will expect a generic `T` type which is the .NET version\nof an Gel type:\n\n```cs\nvar result = await client.QueryAsync\u003clong\u003e(\"select 2 + 2\"); // returns 4\n```\n\n## Contributing\n\nWe openly welcome and accept contributions to Gel.Net! Before writing a\nGitHub Issue or Pull Request, please see our [contribution requirements](CONTRIBUTING.md).\n\n## Examples\n\nThis repository contains a list of [working examples](examples),\ncheck them out to see Gel.Net in action!\n\n\n## Compiling\n\nIf you're building Gel.Net from source, you will need to download the\n[.NET 8 SDK](https://dotnet.microsoft.com/en-us/download).\n\nOnce you have the SDK installed, you can then run `dotnet build` in the root\ndirectory of the project:\n\n```bash\n$ dotnet build\n```\n\n## Testing\n\nYou can run the test suite by using `dotnet test` like so:\n\n```bash\n$ dotnet test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeldata%2Fgel-net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeldata%2Fgel-net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeldata%2Fgel-net/lists"}