Sie benötigen einen eindeutigen Index. Was ist der Zweck Ihres Modells? Möchten Sie einen Datensatz für eine Person und ReceivedAt ist das letzte Mal, dass sie "empfangen" wurde, oder ist dies eher ein Ereignis, bei dem jedes Mal, wenn sie "empfangen" wurden, einmal hier sein sollte? Erstellen Sie einen eindeutigen Index entweder für (Name, Titel) oder (Name,Title,ReceivedAt).Da DateTime.Now während der Ausführung erhöht wird, werden Sie im zweiten Fall mehrere "erste Male" sehen. Im ersten Fall sollten Sie ReceivedAt von SetOnInsert auf nur Set ändern.