我正在使用 Simple.data,答案不在前面提到的技术中,但有助于说明这一点。所以忽略语法等。
我正在用一个简单的查询查询一个数据库;但根据一组条件,查询会发生变化。
所以举个例子:(很简单,大概5-10个条件)
var result;
if(LoggedAtSelected)
{
// Condition 1 - Calls Logged after a certain date
result = db.Jobs.FindAll(db.Jobs.Logged_At >= startDate);
}
else
{
// Condition 2 - Calls Closed after a certain date
result = db.Jobs.FindAll(db.Jobs.Closed_At >= startDate && dd.Jobs.Closed_At <= endDate);
}
foreach(var JobRecord in result)
{
}
这是上面的理想代码,但遗憾的是,鉴于 var 的动态绑定和可变性质,这是不可能的。这种情况的最佳做法是什么?我唯一的想法是为每个条件编写一个“var result = condition...”,并在 if..else if..else 中,在将其转换为该类型后将其分配给全局变量;然后在“foreach”中使用它。听起来工作量很大。有任何想法吗?还是这样的!!!?!!!