通常情况下,我使用包含以下内容的解决方案启动新项目:
DbContext、EF数据模型、具有CRUD方法通过DbContext和各种“实用程序”方法与Db接口的类。好的,这样做很好,但是当“业务逻辑”的数量开始增加时,这就变得有点混乱了,因为我开始加入更多的业务规则。这让我觉得需要另一个“层”或库,在那里我们放置“业务逻辑”,而不仅仅是将数据作为POCO对象的筛选列表返回。例如,根据业务中某个组定义的一些规则检查订单的属性。
那么,我的问题是:您会强迫客户端层的每个调用都通过业务库(参见案例2下面的图像),即使在简单的情况下,您只需要某种类型的查找值的简单列表?

发布于 2018-12-20 22:44:13
这个问题很可能会引起一些固执己见的答案。我的看法是-是的,我会强迫一切都通过商业图书馆。
要真正做到一致性比其他任何东西都要好,这样您就可以确定:
这并不是说它不会变得复杂,而是。然而,还有更多的方法可以分割东西,您不一定需要有一个庞大的DBContext类来处理N个不同的查询,根据我们的设计,我们可能会用部分类来分割它,因此不同的功能最终会出现在不同的文件上,它们的测试也会映射到不同的文件;我们认为这提高了整体的可维护性。
https://stackoverflow.com/questions/53875611
复制相似问题