d'abord, j'essayais seulement de mettre à jour un modèle modifié. Disons, nous parlons de "Article" comme un modèle. La méthode suivante est mis en œuvre dans une classe appelée « Articles »:Enregistrer une entité nouvelle/modifiée respectivement dans Entity Framework
public static void SaveArticle(Article article)
{
if (article.Id == 0)
{
webEntities.Articles.Add(article);
}
else
{
webEntities.Articles.Attach(article);
webEntities.Entry(article).State = EntityState.Modified;
}
webEntities.SaveChanges();
}
Alors chaque fois que je veux sauver un article modifié dans une action de contrôleur, je dois juste appeler « Articles.SaveArticle (myArticle); », qui fonctionne comme prévu.
Jusqu'ici tout va bien, mais cela signifie que j'aurais besoin d'implémenter ceci de manière redondante pour chaque modèle/entité. Ensuite, j'ai pensé à quelque chose comme un modèle-modèle. C'est à dire. une classe appelée "Entity" où "Article" hérite de "Entity".
En outre, une classe appelée « entités » contient une méthode statique comme ceci:
public static void SaveEntity(Entity entity)
{
if (Entity.Id == 0) // <-- Problem 1
{
webEntities.Entities.Add(entity); // <-- Problem 2
}
else
{
webEntities.Entities.Attach(entity); // <-- Problem 3
webEntities.Entry(entity).State = EntityState.Modified; // <-- Problem 4
}
webEntities.SaveChanges();
}
donc je ne voudrais pas besoin de le mettre en œuvre, mais je ne redondante sais pas comment résoudre les problèmes mentionnés dans le code ci-dessus. Est-ce que je pense trop compliqué ou ce qui serait une bonne pratique à mon problème?
Merci d'avance! Sincères salutations
Utilisez-vous la structure d'entité 4 ou 5? –
Il est dit Version 4.4.0.0 et Runtime Version v4.0.30319 –
Utilisez-vous 'DbContext' ou' ObjectCOntext'? –