2017-03-20 12 views
0

Web APIを初めて使用しています。 注文用のWeb API POSTメソッドを作成しています。これで私は 1を作成した2つのテーブル)columns- ORDER_ID -Primaryキー、EMPLOYEE_ID、TotalBill、リレーションシップを持つテーブルのWeb API POSTメソッド

2)Tbl_OrderMenuはcolumns- OrderMenuID -Primaryキー、Tbl_OrderからORDER_ID -Foreignキー、メニュー名、数量

を持っているTbl_Order

テーブル間の関係は、1対多、すなわちTbl_Order(1)〜Tbl_OrderMenu(*またはMany)です。

Web APIからPOSTへのメソッドを作成して、同時にデータを作成する方法はありますか?

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

私のAPIのPOSTコントローラは、POSTメソッドに来る何

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

です。

+0

えっ?魔法のブードーはありません。 myCombinedClassを "ワイヤを越えて"メソッドに渡すと(この場合は "Post")、Entity-FrameworkまたはAdo.Netなどを使用して何かを行う必要がありますデータベースに(私はあなたが意味するものだと思う) – granadaCoder

答えて

0

@manishは、ここにEFを使用してPOSTメソッドの例です。

// 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); 
} 
関連する問題