Comment mettre à jour uniquement les valeurs modifiées (EntityFramework 5.0)?
J'ai cette entité, souhaitez mettre à jour à l'aide de entityframework
EmployeeModel employee = new EmployeeModel
{
Id = 1000, //This one must
FirstName = modifiedValue,
Email = modifiedValue,
LastName = originalValue,
Phone = originalValue
};
Code pour mettre à jour
_db.ObjectStateManager.ChangeObjectState(employee, EntityState.Modified);
_db.SaveChanges();
C'est l'instruction SQL ai une fois mis à jour
Update Employee set Id=1138,FirstName='modifiedValue',Email='modifiedValue',LastName= 'OriginalValue',phone='originalValue' where Id=1138
Mais je m'attends à ce
Update Employee set FirstName='modifiedValue', Email='modifiedValue' where Id=1138.
Je ne sais pas ce qui me manque ici. S'il vous plaît laissez-moi savoir.
Possible en double stackoverflow.com/questions/3642371/...
Sza, Qui post un seul champ est mis à jour.
Vous pouvez l'étendre à mettre à jour plusieurs champs en suivant l'idée posté dans cette question.
Son plus axé sur la propriété Individuelle. Mon modèle pourrait avoir un plus grand nombre de propriétés. Dans ce cas, je veux joindre la modification du modèle et de faire les mises à jour.
Sza, Qui post un seul champ est mis à jour.
Vous pouvez l'étendre à mettre à jour plusieurs champs en suivant l'idée posté dans cette question.
Son plus axé sur la propriété Individuelle. Mon modèle pourrait avoir un plus grand nombre de propriétés. Dans ce cas, je veux joindre la modification du modèle et de faire les mises à jour.
OriginalL'auteur sivaL | 2013-01-31
Vous devez vous connecter pour publier un commentaire.
Ce problème est commun lorsque vous traitez avec les Dto. Un employé de l'entité est récupérée à partir de la base de données, associé à un DTO et envoyé sur le fil. Ensuite, le client modifie cette DTO et l'envoie au serveur.
Lorsque vous appuyez sur set (réglage) d'une propriété sur un EF entité, EF supposons que la valeur a été modifiée. Même si l'ancienne valeur et la nouvelle valeur sont exactement les mêmes.
Le même problème se produit lorsque vous mappez le DTO à un nouveau de l'Entité et de l'attacher à EF et la mise à jour de son statut de "Modifiée".
À L'Aide De AutoMapper:
Ou, manuellement (je voudrais éviter de le faire, mais juste pour le plaisir de l'exhaustivité):
Il y a sans doute d'autres façons de remédier à ce problème... mais à l'aide de AutoMapper avec Entity Framework correctement est certainement l'un des moyens les plus faciles.
OriginalL'auteur deherch
C'est la solution que j'ai
Seulement les valeurs modifiées dans l'instruction sql update
Si quelqu'un sait mieux répondre que cela, Veuillez poster vos suggestions
OriginalL'auteur sivaL
Vous pouvez essayer de cette façon,
OriginalL'auteur Arkar Moe