【发布时间】:2016-06-28 14:31:07
【问题描述】:
我希望查询从
WANOM_DETAILS & STRDT tables where PIPELINE = 'F' AND HISTORICAL_FLAG <> 'T' AND INSTALLATION = 'EA' AND ANOMALY_CLASS = 'Critical'。
if 语句正常工作,但目前查询仅从
WANOM_DETAILS & STRDT tables where ANOMALY_CLASS = 'Critical' 因为这是model.ToList(); 之前的最后一行
任何帮助将不胜感激。这是代码;
strdt = "EA";
anom_class = "Critical";
var models = db.WANOM_DETAILS;
var model = models.Where(wanom_details => wanom_details.STRDT.PIPELINE == "F");
model = models.Where(wanom_details => wanom_details.STRDT.HISTORICAL_FLAG != "T");
if (strdt != "")
{
model = models.Where(wanom_details => wanom_details.INSTALLATION == strdt);
}
if (anom_class != "")
{
model = models.Where(wanom_details => wanom_details.ANOMALY_CLASS == anom_class);
}
if (subdt != "")
{
model = models.Where(wanom_details => wanom_details.WANOM.SUBSTRUCTURE == subdt);
}
if (comp != "")
{
model = models.Where(wanom_details => wanom_details.WANOM.TYPE + "-" + wanom_details.WANOM.IDENT == comp);
}
return PartialView("_SiteAnomalyGridViewPartial", model.ToList());
【问题讨论】:
-
不确定我是否理解这个问题,但会使用模型。除了第一个解决您的问题之外的所有地方都没有 s 的地方?
-
您需要在模型上保留管道。到处都应该是
models = models.Where -
是的,在除第一个以外的所有地方删除 s 已解决问题。谢谢!
-
每个
if都可以覆盖model实例,确定要这样做吗?
标签: c# linq if-statement where-clause