private void ClearCollection(ObjectCollectionViewModel s)
{
var mdl = s.ObjectCollectionModel;
var rel = mdl.RelEnd.Parent;
var otherEnd = rel.GetOtherEnd(mdl.RelEnd);
if (otherEnd != null && otherEnd.Multiplicity.UpperBound() > 1 && rel.Containment != ContainmentSpecification.Independent)
{
foreach (var obj in mdl.Value.ToList())
{
DataContext.Delete(obj);
}
}
else
{
s.ClearValue();
}
}