FileGDB.LinqPadDriver
0.1.1
dotnet add package FileGDB.LinqPadDriver --version 0.1.1
NuGet\Install-Package FileGDB.LinqPadDriver -Version 0.1.1
<PackageReference Include="FileGDB.LinqPadDriver" Version="0.1.1" />
<PackageVersion Include="FileGDB.LinqPadDriver" Version="0.1.1" />
<PackageReference Include="FileGDB.LinqPadDriver" />
paket add FileGDB.LinqPadDriver --version 0.1.1
#r "nuget: FileGDB.LinqPadDriver, 0.1.1"
#:package FileGDB.LinqPadDriver@0.1.1
#addin nuget:?package=FileGDB.LinqPadDriver&version=0.1.1
#tool nuget:?package=FileGDB.LinqPadDriver&version=0.1.1
FileGDB Driver for LINQPad
A driver for LINQPad that allows read-only access to the Esri File Geodatabase (also known as File GDB, FileGDB, or FGDB).
About
Esri File Geodatabases store spatial data as relational
tables persisted in a bunch of files in a folder with
the extension .gdb.
This package contains a driver for LINQPad that allows it to read File Geodatabases. The driver makes use of a small .NET library to read the File GDB; it does not use Esri's File Geodatabase API nor any other library.
How to use in LINQPad
- Install the driver
- Add a connection to a File Geodatabase
- Write queries (or any other .NET code)
Start LINQPad and click on Add connection. This opens the Choose Data Context dialog. At the bottom, click on View more drivers to open the LINQPad NuGet Manager. Click on Settings and make sure that the location of this NuGet is a package source; if not, add a new package source (see LINQPad documentation for details).
Once the driver is available to LINQPad, in the Choose Data Context dialog select "FileGDB Driver" and click Next. The File GDB Connection Details dialog appears, where you enter the path to the File GDB .gdb folder.
A new data connection entry will appear and list all the tables in the File GDB. You can drag those table entries to a Query pane and use Intellisense to write LINQ queries against the table. For example:
Tables.MyPointTable.Dump();
Tables.MyPointTable.Select(row => row.Shape.ShapeBuffer).Dump();
Tables.MyPointTable.Select(row => row.Shape.Bytes).Dump();
Tables.MyPointTable.GetRow(5).Dump(); // get row by Object ID
Limitations
- this is experimental code and comes with no warranty
- only a subset of the File Geodatabase is supported
- Raster fields are not supported
- MultiPatch geometries are not supported
- only full table scans are supported
- indices are not used and not accessible
- no concurrency control (no locking)
- strictly read-only (no updates)
References
- LINQPad: https://www.linqpad.net/
- Even Rouault's FGDB specification: https://github.com/rouault/dump_gdbtable/wiki/FGDB-Spec
- Esri's File Geodatabase API on GitHub: https://github.com/Esri/file-geodatabase-api
This project would not have been possible without Even Rouault's detailed FGDB specification.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net8.0-windows was computed. net9.0-windows was computed. net10.0-windows was computed. |
-
net6.0-windows7.0
- FileGDB.Core (>= 0.1.1)
- LINQPad.Reference (>= 1.3.0)
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.1 | 1 | 12/11/2025 |