ObservableCollectionで、要素の特定の値が重複しなければ追加という処理をしたいのですが、
どのようにやるのが効率的でしょうか?
現在は、

ObservableCollection<UserData> Users = new ObservableCollection<UserData>();
〜〜〜
var user = Users.FirstOrDefault(d => d.Id == id);
if (user == null)
{
 Users.Add(new User{ Id = id });
}

という風に、Users.FirstOrDefault()で一度重複する値が存在するか確認してからAddしています。
ただ、データ件数が多い状態で一度に大量のデータを追加しようとすると
処理が遅くなってしまい困っています。
何か良い方法はありませんか?