【发布时间】:2013-11-19 09:41:26
【问题描述】:
基本上我在 MVC 中有一个多选列表框,当用户更改选择时,它会返回并更新模型。下面的代码有效,但我只是想知道如何将它放在一个 foreach 循环中,或者是否有更好的方法来更新选择?注意:艺术家和艺术家类型之间存在多对多关系。
foreach (var artistTtype in this._db.ArtistTypes.ToList().Where(artistTtype => artist.ArtistTypes.Contains(artistTtype)))
{
artist.ArtistTypes.Remove(artistTtype);
}
foreach (var artistTtype in this._db.ArtistTypes.ToList().Where(artisttype => vm.SelectedIds.Contains(artisttype.ArtistTypeID)))
{
artist.ArtistTypes.Add(artistTtype);
}
【问题讨论】:
-
看看这个:How should I remove all elements in a DbSet?。也许执行 SQL 以删除
ArtistType集合元素更容易(通过在where子句中指定ArtisId)。
标签: c# linq entity-framework multi-select