我的课程中有课程,如
class QueryUtil1{
getByID(int id){
//open connection
//create query
// map to dataset and return
}
}
class QueryUtil2{
getByID(int id){
//open connection
//create query
// map to dataset and return
}
}
所以这些来自多个类的方法调用会创建多次往返数据库的数次,在某些情况下,我想要做的就是合并所有这些查询并将其返回到单个数据集bu方法链接中,如
QueryUtil utill = new QueryUtil()l
Dataset ds = utill
._queryUtil1.getByID(id)
._queryUtil2.getByID(id)
.execute();
其实施是
class QueryUtil {
StringBuilder query = new StringBuilder();
QueryUtil1 _queryUtil1 = new QueryUtil1();
QueryUtil2 _queryUtil2 = new QueryUtil2();
execute(){
string sql = query.ToString();
//execute command and return dataset
}
class QueryUtil1 : QueryUtil{
QueryUtil getByID(int id){
query.append("select * from table where id = " + id);
return this;
}
}
}
但问题是它抛出了stackoverflowexeption,因为子类启动父类,父类启动子类等等...... 我想实现链接的任何想法如何?