我正在研究的一个项目涉及重构一个C#Com对象,它作为一些Sql 2005数据库的数据库访问层.
现有代码的作者使用字符串和许多if语句手动构建了所有sql查询,以构造相当复杂的sql语句(~10个连接,> 10个子选择,~15-25 where条件和GroupBy).基表始终是相同的,但连接,条件和分组的结构取决于传递给我的类/方法的一组参数.
像这样构建sql查询确实有效,但它显然不是一个非常优雅的解决方案(而且很难阅读/理解和维护)...我可以自己写一个简单的"querybuilder",但我很确定我不是第一个遇到这种问题的人,因此我的问题是:
有人可以指向我的资源或给我一个在PHP中编写SQL语句的好方法的例子.
大多数陈述看起来都很难看,难以理解.
我的大部分经验是在MSFT堆栈上进行的,但是我现在正在做一个辅助项目,通过基于LAMP堆栈的廉价托管帮助个人站点的人。我安装Extras的选项是有限的,所以我想知道如何编写数据访问代码而不将原始查询嵌入到.php文件中。
即使使用.NET,我也喜欢保持简单。我通常为所有内容编写存储过程,并且我有一个帮助程序类,该类包装了用于执行过程和返回数据集的所有调用。我不是在寻找成熟的ORM,但这可能是解决之道,其他查看此问题的人可能正在寻找。
请记住,我使用的是每月7美元的GoDaddy帐户,因此我仅限于基本软件包中已安装的内容。
编辑:谢谢rix0rr,Alan,Anders,Dragon,我将检查所有这些内容。我将问题编辑为对ORM解决方案更开放,因为它们是如此受欢迎。