This library is used to provide simplified RESTful CRUD apis with: Untyped Crud Controller Untyped Repository. This library allies injection (IoC), minimum codebase for maximum efficiency.
After giving it a try, this is not a good idea of maintaining two repositories, one for libs and one for samples. It could be easily placed at the same place within LSG.GenericCrud/LSG.GenericCrud.Samples folder for example.
To be as lightweight as possible, extract everything related to automapper in its own dedicated library. In the case in a user would like only the core set of features and not the features related to DTO
Actually, we are not able to easily create custom layers on top of existing logic. Let's say I have a particular thing to do before calling the repository in the service layer and I need to make a call to a webservice.
I would need a way of creating a custom service layer on top of the actual CrudService, ie.:
publicclass MyCustomService :CrudService<Account>{// default constructorpublicoverride GetAll...{// my custom codebase.GetAll()...
Is this possible to get support for odata query structure. OData seems really powerful, but it seems to be tightly coupled to controllers (no middle layer or repository layer seems possible).
This library will be awesome with dynamic paging feature. When needed, a controller should be able to specify to enable paging and all the rest should come automatically. No additional code needed!
For historical purpose, multiple entities of multiple types needs to be created at the same time Unit of work. But, actual setup requires to use one repository per entity type which is not useful to make single commits to database.