You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The change log for version 9 and the list of breaking changes can be found here.
Sample Usage
The Specification pattern pulls query-specific logic out of other places in the application where it currently exists.
For applications with minimal abstraction that use EF Core directly, the specification will eliminate Where, Include, Select, and similar expressions from almost all places where they're being used.
In applications that abstract database query logic behind a Repository abstraction, the specification will typically eliminate the need for many custom Repository implementation classes as well as custom query methods on Repository implementations. Instead of many different ways to filter and shape data using various methods, the same capability is achieved with a few core methods.
Example implementation in your repository using specifications
Specifications should be defined in an easily-discovered location in the application, so developers can easily reuse them. The use of this pattern helps to eliminate many commonly duplicated lambda expressions in applications, reducing bugs associated with this duplication.
We're shipping a built-in repository implementation RepositoryBase, ready to be consumed in your apps. You can use it as a reference and create your own custom repository implementation.