Thunder.Dbf 0.2.0

dotnet add package Thunder.Dbf --version 0.2.0
                    
NuGet\Install-Package Thunder.Dbf -Version 0.2.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="Thunder.Dbf" Version="0.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Thunder.Dbf" Version="0.2.0" />
                    
Directory.Packages.props
<PackageReference Include="Thunder.Dbf" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Thunder.Dbf --version 0.2.0
                    
#r "nuget: Thunder.Dbf, 0.2.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.
#:package Thunder.Dbf@0.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Thunder.Dbf&version=0.2.0
                    
Install as a Cake Addin
#tool nuget:?package=Thunder.Dbf&version=0.2.0
                    
Install as a Cake Tool

Thunder.Dbf

       .-----.
      /     /      ProjectThunder :: Thunder.Dbf
     /     /__     dBASE . FoxPro . Clipper, in pure .NET
    /__      /
      /    /
     /   /
    //
   '

Put a safe, modern app on top of a legacy dBASE or FoxPro system, while the legacy app keeps running on the same files.

Thunder.Dbf reads and writes xBase tables, memos and indexes exactly as the old apps expect, takes the same locks they do, and never needs ODBC, OLE DB, Jet or a 32-bit process. It has no dependencies and runs on Windows, Linux and macOS.

dotnet add package Thunder.Dbf
using Thunder.Dbf;

using var db = DbfDatabase.Open(@"\\server\goldmine\data");   // read-only unless you say otherwise
Console.Write(db.Check());                                      // what's readable, writable, locked or damaged

var contacts = db["CONTACT1"];
using var index = contacts.OpenProductionIndex()!;
var acme = contacts.Seek(index["CONTCOMP"], "ACME");            // like dBASE's SEEK, through the app's own index

What it does

  • Tables: dBASE III and IV, FoxPro 2 and Visual FoxPro, including nulls, autoincrement and over 60 code pages.
  • Memos: .dbt and .fpt.
  • Indexes: dBASE IV .mdx, dBASE III .ndx and Clipper .ntx read and kept exact on every write; FoxPro .cdx/.idx read and seek, and kept up to date as an opt-in preview. INDEX ON for .mdx, and PACK.
  • Typed records and LINQ: ReadAll<T>(), AsQueryable<T>() with seeks through .mdx tags.
  • Locking: record and table locks at dBASE, Clipper or Visual FoxPro offsets, so writes coexist with the legacy app.
  • ADO.NET provider: DbfConnection, DbfCommand and DbfDataReader with parameterized SQL.
  • CSV: import with the table's shape worked out from the data, and spreadsheet-safe export.
  • Safe by default: read-only unless you ask, errors that never leak paths, and hostile files that can't crash or hang the process.

Learn more

MIT licensed. Made by ProjectThunder.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Thunder.Dbf:

Package Downloads
Thunder.Dbf.Sql

Migrate dBASE, FoxPro and Clipper DBF tables to SQLite, SQL Server or PostgreSQL, and keep them in sync both ways while the legacy app keeps running.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.0 0 11/1/2026
0.1.0 51 10/31/2026