【发布时间】:2017-08-29 15:20:15
【问题描述】:
Web 服务导入数据并存储在业务逻辑Graph.AddressList 中。如果找到匹配项,请添加到 keepList。
问题是数据完全相同,但没有被添加到保留列表中。例如,数据库中记录中的 ENTITYKEY 已填充,但未在 Xml 中填充,而无需写出数据库中的每一列以匹配 xmlRecord 中的每一列。有没有办法解决这个问题?
// Fetch List Of Addresses
List<Address> updateAddressList = DbContext.GraphAddressList.Where<Address>(p => p.PersonnelNo == action.PersonnelNo).ToList<Address>();
////IF ADDRESS EXISTS IN THE DB, BUT NOT IN THE XML FILE, REMOVE FROM DB
List<Address> keepList = new List<Address>();
foreach (Address recordInDB in updateAddressList)
{
foreach (Address_0006 recordInXML in Graph.AddressList)
{
if (recordInDB == recordInXML)
{
keepList.Add(recordInDB);
}
}
}
List<Address> removeList = updateAddressList.Except(keepList).ToList();
foreach (Address record in removeList)
{
DbContext.AddressList.DeleteObject(record);
}
感谢您的回复,所以我真的需要创建一个类
public override bool Equals(object obj)
{
var item = obj as RecommendationDTO;
if (item == null)
{
return false;
}
return this.RecommendationId.Equals(item.RecommendationId);
}
public override int GetHashCode()
{
return this.RecommendationId.GetHashCode();
}
【问题讨论】:
标签: c# entity-framework equals