A Blazor library for working with the IndexedDB DOM API, enabling client-side data storage and querying in .NET web applications.
DnetIndexedDb is a .NET library that provides a C# wrapper for the IndexedDB DOM API, enabling Blazor applications to interact with client-side databases directly from .NET code. It simplifies complex data operations like querying, indexing, and transactions, making it ideal for building offline-capable or data-intensive web apps.
.NET developers building Blazor WebAssembly or Blazor Server applications that require client-side data persistence, such as for offline functionality or handling large datasets in the browser.
Developers choose DnetIndexedDb for its type-safe, .NET-native API that mirrors Entity Framework patterns, reducing the need for direct JavaScript interop and providing a familiar development experience for client-side database operations.
Blazor Library for IndexedDB DOM API
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Exposes the full IndexedDB DOM API with methods for opening, closing, deleting databases, and performing CRUD operations, as detailed in the README with examples like GetRange and GetByIndex.
Supports manual, fluent, and attribute-based schema configuration, allowing developers to choose methods that fit their workflow, such as using [IndexDbKey] attributes or fluent extensions.
Mirrors Entity Framework patterns with service registration and dependency injection, making it familiar for .NET developers and reducing direct JavaScript interop code.
Enables simultaneous management of multiple IndexedDB databases within a single application, as shown in the service registration examples for different database models.
Requires adding external JavaScript files (rxjs.min.js and dnet-indexeddb.js) to the project, introducing complexity and potential performance hits from interop calls, which isn't ideal for pure .NET setups.
The README shows separate branches for .Net5 and .Net31, indicating maintenance challenges and lack of unified support for current .NET versions, which could lead to breaking changes.
Configuration involves multiple steps like creating derived classes, registering services, and defining database models, which can be cumbersome for quick prototyping compared to simpler storage solutions.