[英]Using Linq to object, how can I get one field's value based on another in the same list
[英]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.