2016-04-19 11 views
0

私はC#でREST Webサービスを実装しました。データベースに接続するために、EntityFrameworkを使用しました。どのようにEntity Frameworkでクエリを組み合わせることができますか?

私はこのコードを持っている:

private IQueryable<ClinicalDocumentDTO> getClinicalDoc(string cf) 
{ 
    if (cf != null) 
    { 
     return from p in db_data.CLINICAL_DOC 
      where p.CodiceFiscaleAssisito == cf 
      select new ClinicalDocumentDTO() 
      //select new CLINICAL_DOC 
      { 
       Code = p.Code, 
       CodeSystem = p.CodeSystem, 
       dateStart = ad.VerifyEffectiveTime, 
       dateEnd = ad.VerifyEffectiveTimeMax 
      } 
    } 
} 

は今、私はこのコードを変更したい、私は、このフィールド「dateStard」と「dateEnd」を持っていますが、データベース上で、私は3列(effetiveTime、effetiveTimeMinを持っていますeffectiveTimeMax)。

私はこれをしたい:

if (effectiveTime == null) then 
    dateStart= effectiveTimeMin, 
    dateEnd = effectiveTimeMax 

は、私は、Entity Frameworkでこれをどのように行うことができますか?後述するように

答えて

1

あなたが選択に?:演算子を使用することができます。

return from p in db_data.CLINICAL_DOC 
     where p.CodiceFiscaleAssisito == cf 
     select new ClinicalDocumentDTO() 
     //select new CLINICAL_DOC 
     { 
      Code = p.Code, 
      CodeSystem = p.CodeSystem, 
      dateStart = p.effectiveTime == null ? effectiveTimeMin : ad.VerifyEffectiveTime, 
      dateEnd = p.effectiveTime == null ? effectiveTimeMax: ad.VerifyEffectiveTimeMax 
     } 

PS:変数のケースが確認されていません。それに応じて更新してください。

関連する問題