在Linq中放置If和Else

时间:2013-01-17 04:53:58

标签: c# linq if-statement

  

可能重复:
  Linq If Statement

我正在尝试使用Linq运行查询,但在where子句之前我想指定If条件但是我没有得到正确的语法(可能是)或者它不可能? 我搜索了很多,但他们在查询前使用if和else,但我想在查询中查询。 有可能像:

var q = (from mortgageapplication in context.MortgageApplications
         if(mortgageapplication.purpose of loan==7)
         {
              where mortgageapplication.MortgageActive == true && mortgageapplication.MortgageCoordinator==ID
         }

我只是想尝试,但如果我们可以放在哪里,请告诉我?

1 个答案:

答案 0 :(得分:0)

此查询在逻辑上是等效的:

var loanPurpose = 7;
var coordinatorId = ...;
var query =
    from app in context.MortgageApplications
    where app.PurposeOfLoan != loanPurpose
        || (app.MortgageActive && app.MortgageCoordinator == coordinatorId)
    select application;

逻辑如下,您只想检查它是否处于活动状态并由给定的协调器检查。否则得到任何申请。