首页 新闻 会员 周边

在Repository(仓储模式)和Service模式中的Webapi,如何规划?

0
悬赏园豆:100 [已解决问题] 解决于 2021-08-02 21:51

Service层的泛型类,那么其他的Service继承自他必须要提供泛型,那么泛型应该设置为数据库中的实体类吗?那这样不就是通过表来分Service,那需要多表联立查询的时候该怎么办?Service层的作用,比如一个登录,非空判断是在Api层还是写入Service层?
谢谢大佬们

叫我昆哥哥的主页 叫我昆哥哥 | 初学一级 | 园豆:60
提问于:2020-12-24 11:02
< >
分享
最佳答案
1

不是通过表来划分service,而是通过功能划分service,数据库的持久化跟service层还是有区别的,多表联合查询的时候,像这样业务就是在service里面处理的,你就把service看作是处理业务逻辑的就行了
数据库中的实体类可以设计为贫血也可以设计为充血,如果是充血模式,只保留跟数据实体的增删改查就行了,不涉及到其他数据库实体。两个实体之间的联系操作就应该放到service里面处理

收获园豆:100
不知道风往哪儿吹 | 老鸟四级 |园豆:2035 | 2020-12-24 15:10

如果repository层只有增删查改,那么service层是不是用Dbcontext自己写联合查询,还是说需要建立一个新的repository,用来实现数据库的操作

叫我昆哥哥 | 园豆:60 (初学一级) | 2020-12-24 16:01

@叫我昆哥哥: 你可以封装一个数据单元的类库,专门用来操作数据库的dbcontext
去看一下abp 工作单元的实现, 不需要在service层,建新的仓储
不管是仓储还是service 都统一注入到工作单元,通过工作单元实现与数据的桥接

不知道风往哪儿吹 | 园豆:2035 (老鸟四级) | 2020-12-24 16:34
其他回答(1)
0

单独的逻辑方法,应该在这个service单独去实现啊,基类中只是最基础的增删改和简单查询。

为乐而来 | 园豆:1432 (小虾三级) | 2021-01-04 13:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册