如何在C#中传递列表对象中的值?

如何在C#中传递列表对象中的值?,c#,C#,这也许是个简单的问题。也就是说,我有一些JSON细节,它作为一个列表出现,然后它转换为对象。现在这个对象包含2个值,因为它是一个列表。所以我想把它们输入数据库。我如何做到这一点 这是我试过的 public IHttpActionResult PostRegister([FromBody] dynamic register) { try { Newtonsoft.Json.Linq.JArray qualificationRes = (Newtonsoft.Json

这也许是个简单的问题。也就是说,我有一些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");
    }
}
公共IHttpActionResult后寄存器([FromBody]动态寄存器)
{
尝试
{
Newtonsoft.Json.Linq.JArray qualificationRes=(Newtonsoft.Json.Linq.JArray)register.qualification;
var qualification=qualificationRes.ToObject();//转换为列表对象
var sta2=QMgrt.InsertQualifications(qualification,nid);//传递列表值。
返回Ok(“成功”);
}
捕获(例外情况除外)
{
控制台写入线(例如消息);
返回正常(“失败”);
}
}
这就是我试图将其插入数据库的方式

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-quali,int-newid)//获取列表值
{ 
foreach(quali中的限定q)//这就是问题所在,只有一组对象被传递到数据库
{ 
尝试
{
var status=db.AddQualiteDetails(“插入QualiteDetails”,q.描述,q.大学,q.Date,q.Qauli,q.QualiteType,newid,q.Duration);
返回true;
}
捕获(例外)
{
返回false;
}
}
返回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;
}
public bool InsertQualifications(List-quali,int-newid)//获取列表值
{ 
foreach(quali中的限定q)//这就是问题所在,只有一组对象被传递到数据库
{ 
尝试
{
var status=db.AddQualiteDetails(“插入QualiteDetails”,q.描述,q.大学,q.Date,q.Qauli,q.QualiteType,newid,q.Duration);

返回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;
}
public bool InsertQualifications(List-quali,int-newid)//获取列表值
{ 
foreach(quali中的限定q)//这就是问题所在,只有一组对象被传递到数据库
{ 
尝试
{
var status=db.AddQualiteDetails(“插入QualiteDetails”,q.描述,q.大学,q.Date,q.Qauli,q.QualiteType,newid,q.Duration);

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;
    }
}
public bool InsertQualifications(List-quali,int-newid)//获取列表值
{ 
foreach(quali中的限定q)//这就是问题所在,只有一组对象被传递到数据库
{ 
尝试
{
var status=db.AddQualiteDetails(“插入QualiteDetails”,q.描述,q.大学,q.Date,q.Qauli,q.QualiteType,newid,q.Duration);
}
捕获(例外)
{
返回false;
}
}
db.SaveChanges();
返回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;
    }
}
public bool InsertQualifications(List-quali,int-newid)//获取列表值
{ 
foreach(quali中的限定q)//这就是问题所在,只有一组对象被传递到数据库
{ 
尝试
{
var status=db.AddQualiteDetails(“插入QualiteDetails”,q.描述,q.大学,q.Date,q.Qauli,q.QualiteType,newid,q.Duration);
}
捕获(例外)
{
返回false;
}
}
db.SaveChanges();
返回true;
}
}

Yup。删除
return true
解决了我的问题。谢谢:)是的。删除
return true
解决了我的问题。谢谢:)删除return true帮助我解决了问题。谢谢:)删除return true帮助我解决了问题。谢谢:)