我首先有两个列表是
DataTable DtblDiseaseList = this.GetDisease();
List<DiseaseModel> model = DtblDiseaseList.DataTableToList<DiseaseModel>();
第二是
var userDisease = DiseaseManagementBA.getUserDisease(UserID).DataTableToList<DiseaseModel>();
这里我想比较userDisease和模型列表如果匹配,那么我想更新第一个列表的属性,即model
。在DiseaseModel
类中有属性,即IsChecked
。如果找到匹配项,我想将true
设置为此属性。
答案 0 :(得分:0)
第一个“if found found”可以使用Join完成。这将枚举您的每个列表,并返回找到“匹配”条件的模型的结果。我假设“匹配”是匹配ID,因为我不知道实际标准。
var result = (from m in model
where join d in userDisease on m.ID == d.ID
select m).ToList();
获得列表后,需要迭代并设置值。我假设你正在使用LinqToSql和InsertOnSubmit以及SubmitChanges方法。
foreach (var r in result)
{
r.IsChecked = true;
this.InsertOnSubmit(r);
}
this.SubmitChanges();
我应该注意这会有效,但第一次连接的结果会被枚举到内存中,数据库不会更新它们。
答案 1 :(得分:0)
你可以这样做:
model.Intersect(userDisease).ToList().ForEach(_ => _.IsChecked = true);
答案 2 :(得分:0)
大家好,我的问题是通过var browser = new IE(true);
IEElement myElement = browser.ElementWithTag("div", Find.ById("myDivID")).NativeElement as IEElement;
myElement.SetStyleAttributeValue("width", "400px");
myElement.SetStyleAttributeValue("height", "600px");
查询
Linq