Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-对象值正在丢失_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C#-对象值正在丢失

C#-对象值正在丢失,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我试图通过以下方法将我的对象放入另一个对象:- for (int i = 0; i < NewTblList.Count; i++) { var ItObj = NewTblList[i]; InternShip It = new InternShip(); It.Name = NewTblList[i].Name; It.Amount = NewTblList[i].Amount; It.CreatedDate = NewTblList[i].C

我试图通过以下方法将我的对象放入另一个对象:-

for (int i = 0; i < NewTblList.Count; i++)
{
    var ItObj = NewTblList[i];

    InternShip It = new InternShip();
    It.Name = NewTblList[i].Name;
    It.Amount = NewTblList[i].Amount;
    It.CreatedDate = NewTblList[i].CreatedDate;
    It.Descr = NewTblList[i].Descr;
    It.Duration = NewTblList[i].Duration;
    It.ExpiryDate = NewTblList[i].ExpiryDate;
    It.StartDate = NewTblList[i].StartDate;

    It = db.Interns.FirstOrDefault(x => x.ID == ItObj.ID);
    results = UtilityMethods<InternShip, int>.EditEntity(db, It);
}

我的“It”价值已丢失。我不知道我做错了什么。请帮忙

您正在用
实习生
数据库中的Id
ItObj.Id
覆盖您的
It

因此,您需要将其更改为:

foreach (var internship in NewTblList)
{
    // get the existing internship from the database
    InternShip It = db.Interns.FirstOrDefault(x => x.ID == internship.ID);

    // update the values from your list
    It.Name = internship.Name;
    It.Amount = internship.Amount;
    It.CreatedDate = internship.CreatedDate;
    It.Descr = internship.Descr;
    It.Duration = internship.Duration;
    It.ExpiryDate = internship.ExpiryDate;
    It.StartDate = internship.StartDate;

    results = UtilityMethods<InternShip, int>.EditEntity(db, It);
}
foreach(在newtbl列表中的var实习)
{
//从数据库中获取现有实习信息
实习It=db.实习生.FirstOrDefault(x=>x.ID==interpaint.ID);
//更新列表中的值
It.Name=实习.Name;
It.Amount=实习.Amount;
It.CreatedDate=实习.CreatedDate;
It.Descr=实习.Descr;
It.Duration=实习期.Duration;
It.ExpiryDate=实习期。ExpiryDate;
It.StartDate=实习期.StartDate;
结果=效用方法.EditEntity(db,It);
}

因为您正在用
Interns
数据库中
ItObj.ID
的任何内容覆盖
It
obejct。感谢您的回复。实际上,我正在将新值传递给var ItObj=newtblist[I];如果我想要一个特定ID的值,那么解决方案是什么?如果您试图用
newbllist
中的新值更新
Interns
,那么移动
It=db.Interns.FirstOrDefault(x=>x.ID==ItObj.ID)行到顶部并删除
实习It=新实习()哦,正确!!那是一个愚蠢的错误。谢谢你的快速回复。现在可以用了吗?
foreach (var internship in NewTblList)
{
    // get the existing internship from the database
    InternShip It = db.Interns.FirstOrDefault(x => x.ID == internship.ID);

    // update the values from your list
    It.Name = internship.Name;
    It.Amount = internship.Amount;
    It.CreatedDate = internship.CreatedDate;
    It.Descr = internship.Descr;
    It.Duration = internship.Duration;
    It.ExpiryDate = internship.ExpiryDate;
    It.StartDate = internship.StartDate;

    results = UtilityMethods<InternShip, int>.EditEntity(db, It);
}