Creando la clave única de MongoDB con C #

Soy un total de n00b con MongoDB y estoy luchando para crear un campo únicoEmailAddress. Ya he visto en foros que tengo que crear un índice, pero hasta ahora no me funcionó. ¿Alguien tiene un ejemplo de código? ¿Tengo que crear el índice en cada guardado / llamada, o es suficiente crearlo solo una vez?

Intenté este código:

DB.GetCollection<User>(Dbname)
    .EnsureIndex(new IndexKeysBuilder()
        .Ascending("EmailAddress"), IndexOptions.SetUnique(true));

DB.GetCollection<User>(Dbname).Save(user, SafeMode.True);

MiUser modelo se ve así:

public class User
{
    [Required(ErrorMessage = "Email Required")]
    public string EmailAddress { get; set; }

    public ObjectId Id { get; set; }

    public string FirstName { get; set; }
    public string LastName { get; set; }
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta