以下从另一个更新 ObservableCollection 的方法(都基于同一类)是否足够好,或者以其他方式完成(或只是改进)更好?
foreach (MyEntity c in collection2)
{
collection1.Where(p => p.EntID == c.EntID).FirstOrDefault().Field1 = c.Field1;
collection1.Where(p => p.EntID == c.EntID).FirstOrDefault().Field2 = c.Field2;
...
collection1.Where(p => p.EntID == c.EntID).FirstOrDefault().FieldN = c.FieldN;
}
EntID 是主键。
(“足够好”是指快速高效)。
请您参考如下方法:
var myItem = collection1.Where(p => p.EntID == c.EntID).FirstOrDefault();
if (myItem == null)
continue;
myItem.Field1 = c.Field1;
myItem.Field2 = c.Field2;
...
myItem.FieldN = c.FieldN;
如果 myItem 和 c 是不同的类型,请查看 AutoMapper。
