I'm about to build my service layer and I've got some doubts. Should I create particular service(cs class + interface) related with controller or should I create the service related with poco class exclusively?
Let me give you an example. I've got: StudentPoco, TeacherPoco, StudentService, TeacherService, StudentController, TeacherController.
And now form StudentController I'd like to call service's method - GetAllTeachers(...) - student wants to see a list. Should I put this function in StudentService because I call it from StudentController or should I put it in TeacherService bacause it's related with TeacherPocos - we're dealing with teachers. What's gonna happen if we call GetOnlyMyTeachers(...) from StudentController?
Next issue: Should one service reference to services which it uses? What if StudentService has reference to TeacherService and TeacherService has reference to StudentService? Is it OK?
I'd like to notice that I'm familiar with DI.
I use MVC5 and EF6 code first. I don't want to use repository and UoW patterns. I'll have DbContext reference in all services. Is it right to call savechanges method many times?
What do you think about my doubts?