【发布时间】:2015-11-26 13:16:31
【问题描述】:
在实体框架和 Web API2 中,我有一个接收 LegalEntity 模型 legalEnt 的 PUT。 LegalEntity 模型有一个 DBANames 集合。我需要将 legalEnt 提供的所有 DBAName 对象与我从 LegalEntityID 匹配的数据库中获得的名为 dba 的 DBANames 集合进行比较。
如果来自 UI 的作为 LegalEnt 的 DBANames 集合与数据库中的集合相比缺少 DBAName,那么我需要从数据库中删除缺少的 DBAName。此外,如果 UI 中有一个额外的 DBAName,那么我需要添加该 DBAName。
我并不关心我的语法,而是我关心识别丢失或额外 DBAName 然后删除它的逻辑。对我来说,这是一个逻辑练习。我在想我需要遍历每个集合,然后将对象放入要添加或删除的数组中(addArray 和 delArray)。但是如何做到这一点对我来说并不是很明显。
public IHttpActionResult Put(LegalEntity legalEnt)
{
List<DBAName> dba = new List<DBAName>();
dba = db.DBAName.Where(d => d.LegalEntityID == legalEnt.LegalEntityID).ToList();
foreach(var legal in legalEnt.DBANames)
{
foreach(var d in dba)
{
do something
}
maybe do something else
}
}
【问题讨论】:
标签: c# performance linq lambda logic