2016-08-14 5 views
0

j'ai deux table dans la ville et l'état. Je veux afficher les données de la ville + st_name de la table d'état dans une liste.Deux opérations de table de données CRUD dans un premier cadre Entity Framework

J'ai afficher les deux données de table dans une liste en utilisant le modèle ci-dessous mais. lorsque j'essaie d'effectuer une opération de suppression dans les détails de la ville, il donne une erreur comment résoudre ce problème.

modèle de ville: -

namespace ms2app.Models.Entity 
{ 
    public partial class CITY_MASTER 
    { 
     public int CT_ID { get; set; } 

    [Required(ErrorMessage = "Please enter City Code.")] 
    [StringLength(3, ErrorMessage = "City Code should not be more than {1} characters.")] 
    public string CT_CODE { get; set; } 

    [Required(ErrorMessage = "Please enter City Name.")] 
    [StringLength(100, ErrorMessage = "City Name should not be more than {1} characters.")] 
    public string CT_NAME { get; set; } 

    [Required(ErrorMessage = "Please enter STD Code.")] 
    [StringLength(50, ErrorMessage = "STD Code should not be more than {1} characters.")] 
    public string CT_STD_CODE { get; set; } 
    public Nullable<int> CT_ST_ID { get; set; } 
    public System.DateTime LAST_UPDATE_DATE { get; set; } 
    public bool IS_DEACTIVE { get; set; } 

    [Required(ErrorMessage = "Please select state.")] 
    public string ST_NAME { get; set; } 


} 

}

Mon contrôleur Supprimer Méthode: -

public ActionResult Delete(int id) 
    { 
     try 
     { 

      CITY_MASTER cityMaster = db.CITY_MASTER.Find(id); 
      cityMaster.IS_DEACTIVE = false; 
      db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 

    } 

Example

+0

Vous ne voulez pas supprimer l'enregistrement? Juste définir cette propriété? Tout d'abord, find peut retourner null, donc vous devriez probablement entourer le setter d'un if-check – thsorens

+0

Cela aiderait si vous publiez l'erreur que vous obtenez. – user919426

Répondre

0

Votre logique n'a pas d'action de suppression réelle à elle.

Try this ...

public ActionResult Delete(int id) 
    { 
     try 
     { 

      CITY_MASTER cityMaster = db.CITY_MASTER.Find(id); 
      cityMaster.IS_DEACTIVE = false; 
      db.Entry(cityMaster).State = System.Data.Entity.EntityState.Deleted; 
      db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 

    } 
+0

en fait je ne supprime aucun enregistrement je juste mise à jour simple état d'enregistrement comme inactif ..... IS_DEACTIVE statut faux pour supprimer City ... je ne supprime aucun enregistrement – Darshak

+0

Obtenir l'erreur dans cette déclaration je ne sais pas pourquoi ils CITY_MASTER cityMaster = db.CITY_MASTER.Find (id); – Darshak