2016-04-19 4 views
0

Ich habe einen REST-Webdienst in C# implementiert. Um eine Verbindung zur Datenbank herzustellen, habe ich EntityFramework verwendet.Wie kann Abfrage in Entity Framework kombiniert werden?

Ich habe diesen Code:

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 
      } 
    } 
} 

Jetzt möchte ich diesen Code ändern, ich habe dieses Feld "dateStard" und "dateEnd", aber auf der Datenbank, ich habe drei Spalte (effetiveTime, effetiveTimeMin, effectiveTimeMax). diese

Ich möchte:

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

Wie kann ich dies tun in Entity Framework?

Antwort

1

Sie können ?: Operator in ausgewählten verwenden, wie unten erwähnt:

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: Gehäuse von Variablen wird nicht geprüft. Bitte aktualisieren Sie sie entsprechend.

Verwandte Themen