写在开头,每次实现自己的仓储的 时候,考虑好要继承哪个仓储接口,有些函数是要自己去实现并手动抛出异常的!
前置笔记:
重点:这个TEnity必须 一定 绝对 是 聚合根,疑点在于,为什么我看公司项目直接放了个patientEntity也可以。原因是:一个实体本身也可以被当作一个聚合根。
继承IReadOnlyBasicRepository接口的时候注意点:GetAysnc找不到实体时候要抛出异常,FindAysnc不需要,会直接返回一个Null。
只读仓储多了2个WithDitials(),意思是可以返回所有导航属性,或者指定的导航属性。(导航属性可以理解为数据库一张表中的外键FK)。
仓储基类实现了IQueryable,换句话说,可以直接鞋LINQ查询,又因为queryable它实现了迭代器,你甚至可以使用forearch()。
未完待续。。。。后面看懂了再继续记笔记
2022/5/15
好了升级 .net6 ,仓储不继承IQueryable了,LINQ查询不能用了。。。。