这一篇要整合Model层和Repository层,提供一个统一的操作entity的接口层,代码下载地址(博客园上传不了10M以上的文件,所以用了百度):http://pan.baidu.com/s/1kTIIJqf,如果有编译不通过的,请重新引用package中相关的dll
1. 首先把项目中所有没有用的Class1.cs都删除,然后把在StudentManageSystem.Repository层的Model都移动到StudentManageSystem.Model层里,效果如下
-->
注意要修改Model的命名空间,还要添加引用
2. 在StudentManageSystem.Repository层和StudentManageSystem.Repository.Test层添加StudentManageSystem.Model的引用,运行单元测试,若能通过,则说明重构成功(若不成功,挥刀自宫^_^)
3. 添加IBaseRepository接口、BaseRepository类,再修改SMSContext.cs文件,添加Detach方法。
BaseRepository需要一个带参数的构造器,这块是为了后期使用时,可以注入dbcontex。
4. 在StudentManageSystem.Interface层添加IStudentRepository, IScoreRepository, ISubjectRepository, IGradeRepository四个文件,在IStudentRepository中添加接口GetById
5. 对应的在StudentManageSystem.Repository层添加四个Repository文件,在StudentRepository类里实现GetById接口,如下图
6. 新建一个单元测试,StudentRepository的GetById方法能正确返回值。