1.DbContext:使用ef和数据库进行连接,配置文件webconfig有相应连接字符串.
2.IRepository:泛型接口,定义对任何一个实体的CRUD.
Repository :泛型基类:实现IRepository接口
IBookRepository中定义了BookRepository的特有业务操作,在BookRepository必须给予实现。
IBookRepository必须继承自IRepository,这样在控制器中使用IBookRepository能够包含BookRepository的所有操作。
在控制器结合IOC/依赖注入/控制反转(Inversion of Control)时IBookRepository能够很好的引用BookRepository对象。
3.IUnitOfWork和 UnitOfWork : 用于对数据的保存操作
4. IXXXService和 XXXService:调用Repository
可用context但是需要构造context,不要new
以上Repository模式的框架已经搭好
5. 以下是建实体操作:
建实体类Repositories
添加DbSet
添加Domain并定义Mapping:可以和数据库建立对应关系,在Db的OnModelCreating添加Mapping映射并移除复数表明公约(第一次添加完就可以了,防止数据迁移,比如BookInfo类对应Book表,如果没移除公约,会在数据库中自动生成BookInfoes表)。
添加IXXXRepository和XXXRepository:需要在DbContext进行接口定义和属性封装
建立IXXXService和 XXXService
添加Controller,用构造函数访问数据,记得依赖注入。