簡體   English   中英

如何將一個列表的一個字段值更新為另一個列表的另一個相同字段?

[英]How to Update one field value of one list into another same field of another one list?

我有兩個相同類的列表。

List<CUSTOM_STU_DETAIL> StuList = new List<CUSTOM_STU_DETAIL>();
List<CUSTOM_STU_DETAIL> StuListforRollNo = new List<CUSTOM_STU_DETAIL>();

所以我從兩個表中得到一個列表。

StuList = (from a in db.Student_Re_Admission
                           join b in db.Student_Registration on a.Registration_Id equals b.Registration_Id

                           where a.Academic_Year_Id == AcademicId && a.Company_ID == CompanyId
                           && a.COMPANY_LOCATION_ID == CompanyLocationId
                           && a.Class_Id == ClassID && a.Section_Id == SectionID
                           && a.Promoted == false && b.Delete_Flag == false

                           select new CUSTOM_STU_DETAIL
                           {
                               Registration_Id = a.Registration_Id,
                               Admission_No = a.Admission_No,                               
                               STUDENT_NAME = a.Student_First_Name + " "+a.Student_Middle_Name + " " + a.Student_Last_Name,
                               Class_Id = ClassID,
                               Section_Id = SectionID,
                               Academic_Year_Id = AcademicId,
                               Company_Id = CompanyId,
                               Company_Location_Id = CompanyLocationId

                               //RollNo = c.Set_Roll_No,
                           }).OrderBy(a => a.Admission_No).ToList();

所以現在想在第一個列表循環的明智條件下從另一個表中獲取一些值。

foreach (var obj in StuList)
                {
                    var rollNoRecord = db.Student_Roll_No_Assign.FirstOrDefault(a => a.Company_ID == obj.Company_Id && a.COMPANY_LOCATION_ID == obj.Company_Location_Id && a.Academic_Year_Id == obj.Academic_Year_Id && a.Class_Id == obj.Class_Id && a.Delete_Flag == false);

                    if (rollNoRecord != null)
                    {
                        data.RollNo = rollNoRecord.Set_Roll_No;
                    }
                    else
                    {
                        data.RollNo = string.Empty;
                    }

                    StuListforRollNo.Add(data);


            }

所以現在想將數據的“ SetRollNo”字段列表插入第一個列表“ SetRolNo”字段。

我嘗試如下,但沒有理解我的意思。

    1) var listfinal = StuList.Concat(StuListforRollNo);
    2) var listfinal = StuList.Union(StuListforRollNo);
    3) var listfinal = StuList.AddRange(StuListforRollNo);

所有人都在合並數據。

為什么不在foreach循環中更改值

foreach (var obj in StuList)
{
     var rollNoRecord = db.Student_Roll_No_Assign.FirstOrDefault(a => a.Company_ID == obj.Company_Id && a.COMPANY_LOCATION_ID == obj.Company_Location_Id && a.Academic_Year_Id == obj.Academic_Year_Id && a.Class_Id == obj.Class_Id && a.Delete_Flag == false);

     if (rollNoRecord != null)
     {
           //data.RollNo = rollNoRecord.Set_Roll_No;
           obj.RollNo = rollNoRecord.Set_Roll_No;
     }
     else
     {
           //data.RollNo = string.Empty;
           obj.RollNo = string.Empty;
     }
     //StuListforRollNo.Add(data);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM