1

我对 Linq 语句真的很陌生,但让我说我很喜欢它们。这里的任何问题都是我的问题

var faults = from e in _context.Faults
                     where e.Car_FK == Car_ID && e.Model_FK == Model_ID
                     select new { e.Time, e.Drive_Type};

我想知道是否可以在其中有一个 if 语句,这样如果 Model_ID 不存在,我可以设置另一个值,例如

      ViewData["Message"] =  "Please make another selection"

我传入 Car_ID 和 Model_ID

4

2 回答 2

1

进行查询后,您可以使用AnyLINQ 扩展方法测试项目的可用性

if (faults.Any()) {
    // Display faults
} else {
    ViewData["Message"] =  "Please make another selection"  
}
于 2012-04-05T14:49:50.080 回答
-1

您可以使用? :运算符在查询中包含 if 语句,或者如果您需要根据条件过滤项目,则可以将其放在where子句中。

但是,在您的情况下,您可能希望将其放在查询之外,因为您想更改应用程序的逻辑:

 if(Model_ID==null)
    ViewData["Message"] =  "Please make another selection"   
 else
 {
    var faults = from e in _context.Faults  
                 where e.Car_FK == Car_ID && e.Model_FK == Model_ID  
                 select new { e.Time, e.Drive_Type};  
    //...
 }

编辑:见评论

于 2012-04-05T14:21:12.520 回答