I have the following n-tier design.
In descending order of what can see what:
View> ViewModel> Business Logic Layer> Data Acess Layer(repositories)
Currently, the view model uses a business object to do some high level action(add something to the database) and the BLL uses the DAL to do the low level operations. The DAL only has simple atomic operations(CRUD operations), whereas the BLL uses a Unit of work pattern to accomplish a higher level business operation that may require access to different repositories, etc. So the business logic for doing these operations exists in the BLL.
My issue is that right now I am having an issue thinking about what my models would be. Since I am using entity framework, my business models are basically my EF entities. I have been told by everyone that the business logic should go in the model. If that is true, what is the point of the business logic layer if each model contains individual business logic? I feel like I would have 2 areas where I have "business logic".
And how would I add business logic to my EF entities, since I am not using code-first and the entities get re-created when I change my .edmx.
Thank you.