2017-06-21 4 views
0

Hier ist meine Get-by-ID-Funktion, die erste oder Standardzeile des Benutzerkontos Tabelle, die die angegebene Stadt ID entspricht, möchte ich alle zurückgeben die Zeilen (Benutzer), die die angegebene Stadt-ID haben.Wie alle Datensätze gegen eine ID in einer Web-API zurückgegeben werden get by ID-Funktion

public HttpResponseMessage Get(string id) { 
    using(KWSB_dbEntities entities = new KWSB_dbEntities()) { 
     entities.Configuration.ProxyCreationEnabled = false; 
     var entity = entities.User_Account.FirstOrDefault(e = > e.Town_Id == id); 

     if (entity != null) { 
      return Request.CreateResponse(HttpStatusCode.OK, entity); 
     } else { 
      return Request.CreateErrorResponse(HttpStatusCode.NotFound, "User_Account with Town id = " + id.ToString() + " not found "); 
     } 
    } 
} 

Antwort

0

Ist es nicht gerade:

var entity = entities.User_Account.FirstOrDefault(e = > e.Town_Id == id); 

Needs a

var entity = entities.User_Account.Where(e = > e.Town_Id == id); 

Unterschied zu werden ist, wo Klausel alle Zeilen passende auswählt, FirstOrDefault wählt nur die ersten ein passender.

+0

habe ich versucht, den Rat oben und habe diesen Fehler auf Browser. "$ ID": "1", "Nachricht": "Ein Fehler ist aufgetreten.", "ExceptionMessage": "Der 'ObjectContent'1' Typ konnte den Antworttext für den Inhaltstyp 'application/json; charset nicht serialisieren = utf-8 '. " –

0
public HttpResponseMessage Get(string id) { 
using(KWSB_dbEntities entities = new KWSB_dbEntities()) { 
    entities.Configuration.ProxyCreationEnabled = false; 
    entities.Configuration.LazyLoadingEnabled = false; 
    var entity = entities.User_Account.FirstOrDefault(e = > e.Town_Id == id); 

    if (entity != null) { 
     return Request.CreateResponse(HttpStatusCode.OK, entity); 
    } else { 
     return Request.CreateErrorResponse(HttpStatusCode.NotFound, "User_Account with Town id = " + id.ToString() + " not found "); 
    } 
} 

}

Verwandte Themen