diff --git a/Orm/Xtensive.Orm/Sql/Model/NodeCollection.cs b/Orm/Xtensive.Orm/Sql/Model/NodeCollection.cs index 16b8eeb1a1..8f4c4d278c 100644 --- a/Orm/Xtensive.Orm/Sql/Model/NodeCollection.cs +++ b/Orm/Xtensive.Orm/Sql/Model/NodeCollection.cs @@ -39,13 +39,8 @@ public override void Add(TNode item) { base.Add(item); var name = item.GetNameInternal(); - if (!string.IsNullOrEmpty(name)) { - try { - nameIndex.Add(name, item); - } - catch(ArgumentException) { - throw new ArgumentException(string.Format(Strings.ExItemWithNameXAlreadyExists, name)); - } + if (!string.IsNullOrEmpty(name) && !nameIndex.TryAdd(name, item)) { + throw new ArgumentException(string.Format(Strings.ExItemWithNameXAlreadyExists, name)); } }