2017-03-20 1 views
0

Ich bin neu in Web-API. Ich erstelle Web-API-POST-Methode für Bestellung. in dem zwei Tabellen Ich habe 1) erstellt Tbl_Order columns- Order_ID -Primary Key, Employee_ID haben, TotalBill,Web API POST-Methode für Tabellen mit Beziehung

2) Tbl_OrderMenu have columns- OrderMenuID -Primary Key, Order_ID -Ausländische Key von Tbl_Order, MenuName, Menge

Die Beziehung zwischen den Tabellen ist eins zu viele, dh Tbl_Order (1) -to-Tbl_OrderMenu (* oder Many).

Wie kann ich Web-API zur POST-Methode erstellen, um Daten gleichzeitig zu erstellen?

public class myCombinedClass 
{ 
public int Order_ID {get;set;} 
public int Employee_ID {get;set;} 
public string TotalBill {get;set;} 
public List<Tbl_OrderMenu> OrderMenu { get; set; } 
} 

Mein API POST-Controller ist

public HttpResponseMessage Post(myCombinedClass myData) 
{ 
if(myData.id == 0) 
    { 
    // This is a new entry to Tbl_Order. 
    } 
else 
    { 
    //You just need to update the Tbl_Order. I mean, here you are adding 
    //data to Tbl_OrderMenu table with Order_ID. 
    } 
} 

Was in POST-Methode kommen.

+0

Huh? Es gibt keinen magischen Voodoo. Sobald Sie (myCombinedClass) "über den Draht" und in die Methode "(" Post "in diesem Fall) (erfolgreich) bekommen haben, müssen Sie etwas damit tun. Verwenden Sie entweder Entity-Framework oder Ado.Net oder etwas, um es zu bekommen in die db (ich denke das ist was du meinst) – granadaCoder

Antwort

0

@manish, hier ist ein Beispiel für die Methode POST EF mit:

// POST: api/myCombinedClasses 
[ResponseType(typeof(myCombinedClass))] 
public async Task<IHttpActionResult> PostmyCombinedClass(myCombinedClass mycombinedclass) 
{ 
    if (!ModelState.IsValid) 
    { 
     return BadRequest(ModelState); 
    } 

    db.myCombinedClasses.Add(mycombinedclass); 
    db.OrderMenus.AddRange(mycombinedclass.OrderMenu); 
    await db.SaveChangesAsync(); 

    return CreatedAtRoute("DefaultApi", new { id = mycombinedclass.Order_ID }, mycombinedclass); 
} 
Verwandte Themen