# EFRepository

[![Build status](https://ci.appveyor.com/api/projects/status/vriyn5ano6rvqarb?svg=true)](https://ci.appveyor.com/project/kirkchen/efrepository)

Generic repository and pattern "Unit of work" for Entity framework

## Requirements

* .Net Framework 4.6.1
* EntityFramework 6.1.3

## Features

* Generic Repository
    * Basic operation
        * Add
        * Add range
        * Get list
        * Get list with condition
        * Get by id
        * Get with condition
        * Update
        * Delete
        * Support generic identity
    * Hooks Supports
        * Soft delete
        * Auto system infomation
        * Audit log
        * Global query filter
* Unit of work

## Quick Start

Not yet implemented.

## Roadmap

- [ ] Generic Repository
    - [x] Basic operation
        - [x] Add
        - [x] Add range
        - [x] Get list
        - [x] Get list with condition
        - [x] Get by id
        - [x] Get with condition
        - [x] Update
        - [x] Delete
        - [x] Support generic identity
    - [ ] Hooks Supports
        - [ ] Soft delete
        - [ ] Auto system infomation
        - [ ] Audit log
        - [ ] Global query filter
- [ ] Unit of work
# EFRepository

[![Build status](https://ci.appveyor.com/api/projects/status/vriyn5ano6rvqarb?svg=true)](https://ci.appveyor.com/project/kirkchen/efrepository)

Generic repository and pattern "Unit of work" for Entity framework

## Requirements

* .Net Framework 4.6.1
* EntityFramework 6.1.3

## Features

* Generic Repository
    * Basic operation
        * Add
        * Add range
        * Get list
        * Get list with condition
        * Get by id
        * Get with condition
        * Update
        * Delete
        * Support generic identity
    * Asynchronous operation
        * Add async
        * Add range async
        * Get list async
        * Get list with condition async
        * Get by id async
        * Get with condition async
        * Update async
        * Delete async   
    * Hooks Supports
        * Nested object save changes
        * Soft delete
        * Auto system infomation
        * Audit log
        * Global query filter
* Unit of work

## Quick Start

Not yet implemented.

## Roadmap

- [ ] Generic Repository
    - [x] Basic operation
        - [x] Add
        - [x] Add range
        - [x] Get list
        - [x] Get list with condition
        - [x] Get by id
        - [x] Get with condition
        - [x] Update
        - [x] Delete
        - [x] Support generic identity
    - [ ] Asynchronous operation
        - [ ] Add async
        - [ ] Add range async
        - [ ] Get list async
        - [ ] Get list with condition async
        - [ ] Get by id async
        - [ ] Get with condition async
        - [ ] Update async
        - [ ] Delete async        
    - [ ] Hooks Supports
        - [ ] Nested object save changes
        - [ ] Soft delete
        - [ ] Auto system infomation
        - [ ] Audit log
        - [ ] Global query filter
- [ ] Unit of work
Add new feature into roadmap
docs(readme): Add new feature into roadmap

Add new feature as roadmap item into README.md
