SlavaUtesinov 


You can perform almost any permissible operation: add, remove, update, delete and other. Most of them can be executed parallel and by batches with implementing of caching strategy. Also when you want to get data, one can specify enough complicated condition in Entity Framework .Where style.
Insert repository with dynamic database table creation, if it not exists. Also it is possible to specify which migrations will be used for that or can use default creation logic. Usage example - dynamic logging-archivation or manual table creation for some purposes.