La propriété 'nom' fait partie des informations clés de l'objet et ne peut pas être modifiée. Cadre d'entité

Je suis en train de mettre à jour un enregistrement et je reçois ce message d'erreur après la context.SaveChanges();

La propriété 'name' est la partie de l'objet de l'information clé et ne peuvent pas être modifiés.

Voici le code pour la fonction de mise à jour:

 if (context.EAT_SourceNames.Any(e => e.name == newSourceName))
 {
    MessageBox.Show("Name already exists in the Database");
 }
 else
 {
    var nameToUpdate = context.EAT_SourceNames.SingleOrDefault(e => e.name == sourceName.name);
    if (nameToUpdate != null)
    {
       nameToUpdate.name = newSourceName;
       context.SaveChanges();
       RefreshDGVs();
     }
 }

Mon SourceNames classe se présente comme suit:

    public EAT_SourceNames()
    {
        this.EAT_Sources = new ObservableListSource<EAT_Sources>();
    }

    public string name { get; set; }
    public string version_id { get; set; }
    public string allocation_name { get; set; }

J'ai cherché sur des questions similaires, mais ne pouvait pas trouver un solution de travail.

source d'informationauteur forgetaboutme | 2015-04-14