In the past two days, I have sorted out my Ibatis. NET-based development framework, made a PPT introduction, and a DEMO. By the way, I came up with the name "Flying", which is lightweight and fast.
This framework is very simple:
Entity layer: each data table corresponds to two entity classes. One achieves foreign key Association and the other does not;
Data Layer: Based on Ibatis, a simple package is made based on the company's project characteristics. ibatis source code is modified to provide DataTable-oriented interfaces;
Business Layer: Use CodeSmith to generate common code for the business logic layer, and use PartClass to set aside the location for custom business logic methods;
Presentation Layer: uses the base class to unify error processing and use Log4Net for error logs;
Many good ideas and technologies have been abandoned in the process:
1. Because Castle's DynamicProxy does not know why, I will be wrong when I add a wildcard and discard the generic performance;
2. I don't know how to change the entity class to apply ibatis LazyLoad, which changes some of my architectures and slightly reduces the ease of use of the framework;
3. The most important reason is that I am not able to use the current level and train of thought, and time is not allowed. I have abandoned Castle's IOC and AOP, which eclipsed the entire architecture.