[英]How to pass values that are in a List Object in C#?
這也許很簡單。 那就是我有一些JSON詳細信息,它以列表的形式出現,然后轉換為對象。 所以現在該對象包含2個值,因為它是一個列表。 所以我想將它們傳遞到數據庫中。 我該如何實現。
這是我嘗試過的。
public IHttpActionResult PostRegister([FromBody] dynamic register)
{
try
{
Newtonsoft.Json.Linq.JArray qualificationRes = (Newtonsoft.Json.Linq.JArray)register.qualification;
var qualification = qualificationRes.ToObject<List<Qualification>>(); //conversion to the List object
var sta2 = QMgrt.InsertQualifications(qualification,nid); //passing of List value.
return Ok("success");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return Ok("fail");
}
}
這就是我試圖將其插入數據庫的方式
public bool InsertQualifications(List<Qualification> quali,int newid) //Getting the List values
{
foreach (Qualification q in quali) // This is where the issues comes only one set of object is passed to the database
{
try
{
var status = db.AddQualiDetails("Insert_QualiDetails", q.Description, q.University, q.Date_of_award, q.Qauli_id, q.Quali_type, newid, q.Duration);
return true;
}
catch (Exception)
{
return false;
}
}
return true;
}
如屏幕截圖所示,有兩組對象。 如何將所有這些都傳遞到數據庫中。 幫助將不勝感激
我不知道我是否理解正確,但這可能是問題所在:
public bool InsertQualifications(List<Qualification> quali,int newid) //Getting the List values
{
foreach (Qualification q in quali) // This is where the issues comes only one set of object is passed to the database
{
try
{
var status = db.AddQualiDetails("Insert_QualiDetails", q.Description, q.University, q.Date_of_award, q.Qauli_id, q.Quali_type, newid, q.Duration);
return true; <<<<<-------
}
catch (Exception)
{
return false;
}
}
return true;
}
您將一個List條目插入數據庫,並return true;
否則, return true;
使用return
,退出方法並停止foreach
。 關於此,您的代碼僅添加列表的一個條目。 嘗試刪除此return true;
還要檢查插入期間發生的任何異常。
據我所知,您沒有調用db.SaveChanges()
。 SaveChanges
會將您的更改提交到數據庫。 也有return true;
在您的循環中,它打破了循環。
這是將數據保存到數據庫的正確代碼:
public bool InsertQualifications(List<Qualification> quali,int newid) //Getting the List values
{
foreach (Qualification q in quali) // This is where the issues comes only one set of object is passed to the database
{
try
{
var status = db.AddQualiDetails("Insert_QualiDetails", q.Description, q.University, q.Date_of_award, q.Qauli_id, q.Quali_type, newid, q.Duration);
}
catch (Exception)
{
return false;
}
}
db.SaveChanges();
return true;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.