Welcome Aboard! Buzruk.GenericRepository: Level Up Your .NET Data Access

Tired of writing boilerplate code for CRUD operations? Welcome to the future of data access in .NET! Buzruk.GenericRepository is your supercharged, asynchronous-first generic repository, designed to revolutionize the way you interact with your data.

This modern powerhouse provides a unified interface to work with various entities, allowing you to focus on building amazing features while it handles the data interaction heavy lifting. Here's what awaits you:

⚡️ Asynchronous Excellence

  • Ditch the wait! Embrace the power of asynchronous methods by default for non-blocking, efficient data retrieval and manipulation. Free your UI threads and keep your applications responsive!
  • Synchronous Options: Still need compatibility with legacy code or specific use cases? We've got you covered with included synchronous counterparts.

Effortless CRUD Operations

  • Intuitive Methods: Perform essential Create, Read, Update, and Delete (CRUD) actions with ease using methods like GetAsync, GetPagedAsync, AddAsync, AddRangeAsync, UpdateAsync, and more. Simplify complex data management and write cleaner code.
  • Flexible Data Fetching: Find specific entities by ID or filter them based on your criteria using the versatile GetAsync method. Get exactly the data you need, when you need it.

Handle Large Datasets with Grace

  • Paged Data Fetching (Async): Say goodbye to overwhelming data loads! Retrieve data in manageable chunks with GetPagedAsync. This is ideal for pagination and performance optimization in applications dealing with large datasets.
  • Efficient Counting: Gain a clear picture of your data with CountAsync for total entity counts or utilize LongCountAsync for accurate counts even with massive datasets.

More Power at Your Fingertips

  • Targeted Counting (Async): Delve deeper with CountByAsync. Asynchronously count entities based on specific conditions, empowering you with granular insights into your data distribution.
  • Bulk Operations (Async): Optimize performance with AddRangeAsync and UpdateRangeAsync methods, allowing you to add or update multiple entities efficiently in a single operation.

Built for Seamless Integration

  • Effortless Integration with Entity Framework Core: Designed to work seamlessly with Entity Framework Core, allowing you to leverage its powerful features without additional configuration.

Optional Advanced Features

  • Eager Loading (Optional): Boost performance by pre-fetching related entities when retrieving primary data (including an asynchronous EagerLoadAsync option), minimizing subsequent database calls.
  • Change Tracking (Optional): Track entity modifications for efficient saving updates (requires configuration).

A Collaborative Future

  • We actively encourage contributions to broaden support for additional data access providers beyond Entity Framework Core! Let's make this a universally applicable solution!
  • Our relentless pursuit of unit testing coverage ensures unmatched reliability. You can trust your data access layer with confidence!
  • Expect even more detailed examples, tutorials, and guides to transform you into a data access master (coming soon)!

Ready to Experience the Modern Data Access Revolution?

Get started with Buzruk.GenericRepository today and unlock a whole new level of efficiency and performance in your .NET data access! Dive deeper into the following sections to explore installation, usage examples, and the full API reference:

  • Installation: Effortlessly integrate the package into your project.
  • Usage Examples: Practical code snippets to guide you through common operations.
  • API Reference: Comprehensive documentation for every class and method.

Join the community and start building amazing things!