https://github.com/SharpRepository/SharpRepository
C# Generic Repository for use with Entity Framework, RavenDB and more with built-in caching options.
https://github.com/SharpRepository/SharpRepository
Last synced: 9 months ago
JSON representation
C# Generic Repository for use with Entity Framework, RavenDB and more with built-in caching options.
- Host: GitHub
- URL: https://github.com/SharpRepository/SharpRepository
- Owner: SharpRepository
- License: other
- Created: 2012-05-31T23:09:08.000Z (over 13 years ago)
- Default Branch: develop
- Last Pushed: 2023-03-04T00:51:15.000Z (over 2 years ago)
- Last Synced: 2025-02-16T00:06:32.433Z (10 months ago)
- Language: C#
- Homepage:
- Size: 204 MB
- Stars: 661
- Watchers: 65
- Forks: 166
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
- awesome-dotnet-core - SharpRepository - SharpRepository is a generic repository written in C# which includes support for various relational, document and object databases including Entity Framework, RavenDB, MongoDb and Db4o. SharpRepository includes Xml and InMemory repository implementations as well. (Frameworks, Libraries and Tools / Database Tools and Utilities)
- fucking-awesome-dotnet-core - SharpRepository - SharpRepository is a generic repository written in C# which includes support for various relational, document and object databases including Entity Framework, RavenDB, MongoDb and Db4o. SharpRepository includes Xml and InMemory repository implementations as well. (Frameworks, Libraries and Tools / Database Tools and Utilities)
- awesome-dotnet-core - SharpRepository - SharpRepository is a generic repository written in C# which includes support for various relational, document and object databases including Entity Framework, RavenDB, MongoDb and Db4o. SharpRepository includes Xml and InMemory repository implementations as well. (Frameworks, Libraries and Tools / Database Tools and Utilities)
- awesome-dotnet-core - SharpRepository - SharpRepository是一个用C#编写的通用存储库,它包括对各种关系,文档和对象数据库的支持,包括Entity Framework,RavenDB,MongoDb和Db4o。 SharpRepository还包括Xml和InMemory存储库实现。 (框架, 库和工具 / 数据库工具库)
- system-architecture-awesome - SharpRepository - SharpRepository is a generic repository written in C# which includes support for various relational, document and object databases including Entity Framework, RavenDB, MongoDb and Db4o. SharpRepository includes Xml and InMemory repository implementations as well. (Database Tools and Utilities)
README

What is SharpRepository?
--------------------------------
SharpRepository is a generic repository written in C# which includes support for various relational,
document and object databases including Entity Framework, RavenDB, MongoDb and Db4o. SharpRepository includes Xml and
InMemory repository implementations as well. SharpRepository offers built-in caching options for AppFabric,
Memcached and standard System.Runtime.Caching. SharpRepository also supports Specifications, FetchStrategies,
Batches and Traits.
How do I get started?
--------------------------------
Check out the [getting started guide](https://github.com/SharpRepository/SharpRepository/wiki/Getting-started). When you're done there, review the SharpRepository.Samples, SharpRepository.Samples.MvcCore, SharpRepository.Samples.MVC5, SharpRepository.Tests.Integration and SharpRepository.Tests
project for additional sample usage and implementation details.
Compatibility Issues
--------------------------------
- All packages support .NET Framework 4.6 and .NET Standard 2.0. A good part of them supports .NET Standard 1.3
- CouchDB Repository is not compatible with CouchDB 2.0.0 (removed temporary views support)
Running tests
--------------------------------
Integration tests uses all implementations. In order to avoid failing tests and long timeouts you have to install:
- CouchDB 1.x (not 2.x)
- SQL Server Compact
- MongoDB
We notice timeouts and long test discovery in VS2017 and timeouts in "dotnet test".
The best way is use nunit3 console you can get console here https://github.com/nunit/nunit-console/releases and add installation folder in your path
After that from your project folder you can run all tests with:
```
nunit3-console.exe ".\SharpRepository.Samples\bin\Debug\net461\SharpRepository.Samples.dll" ".\SharpRepository.Tests\bin\Debug\net461\SharpRepository.Tests.dll" ".\SharpRepository.Tests.Integration\bin\Debug\net461\SharpRepository.Tests.Integration.dll"
```
Have Questions?
--------------------------------
* https://github.com/SharpRepository/SharpRepository/issues
* mail to sharprepository@googlegroups.com
* https://groups.google.com/d/forum/sharprepository
* open a question on stackoverflow.com with sharp-repository tag https://stackoverflow.com/questions/tagged/sharp-repository