You can't consider the clearness of the code structure, the distinction, and the independence of the function.
Can be maintained or not, can be understood, and it is necessary to turn into a style unified, several people's projects, each has its own programming style, and finally maintained the system by others. I think the maintenance cost of such a system is relatively high, and I can understand it.
The three-layer structure is already recognized, and it is not necessary to have too many flowers.
But to write a lot of code. There are many structures similar to, especially those entities corresponding to relational data sheets, basically a cumbersome code repeatedly. Mechanical behavior can be done with a code generator.
DotNet code automatic generation machine implementation