首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在业务数据分层应用程序中使用sql查询

在业务数据分层应用程序中使用sql查询
EN

Stack Overflow用户
提问于 2014-08-14 07:52:32
回答 1查看 105关注 0票数 0

如果同样的问题在堆叠溢出问题的干草堆中,我很抱歉,但是我已经寻找了两天的答案,最后我来到了这里。如果有任何副本,请随时提及,但请确保它们能解决问题。

我有一个非常老的应用程序,代码不是面向对象的,sql查询到处都是获取数据的地方,然后每个查询都使用sqlcommand/sqldatareader。

现在,我正在尝试迁移到WCF框架,并尝试将业务层和数据层分离开来。大多数sql查询返回不同的列集。

我认为sql查询必须在数据层执行。我正在构建这些查询,或者将现有的查询放在业务层,并将这些查询传递给数据层。我的计划是从数据层返回数据集。操作并放入业务层中的域类并返回到控制器中。

然而,我觉得这不是一个好的方法,它是紧密耦合的。我找不到办法让它松耦合。如果我使用EF或ORM,那么我可以使用DBContext来获取业务层中的数据。我无法将每个数据库表映射到数据层中的POCO类(因为大多数查询都很复杂,并且返回不同的列集)。

问题如何处理查询,使这个体系结构在松散耦合方面变得更好?

EN

回答 1

Stack Overflow用户

发布于 2014-08-14 08:15:39

修复一个像你正在处理的布朗菲尔德项目是很棘手的。在尝试将所有sql查询放入数据层方面,您似乎有了正确的想法。我的建议是找一块薄片。应用程序的一小部分(例如,如果系统允许您添加用户)并尝试将代码重构到您想要的结构中。找到下一片薄片..。另一个提示是,一旦你让重构变得太大,你就应该一次做一个小重构,这样就增加了引入bug的风险。

像resharper这样的工具在安全地重构代码时是一个很大的帮助。它确实有一点学习曲线,但值得付出努力。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25302763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档