Supprimer la ligne ASP.NET MVC ADO.NET Modèle d'entité
Je suis un peu newbie avec asp.net MVC environnement
je suis en train de supprimer la LIGNE à partir de 3 table/de l'entité(parce que je suis en utilisant ado.net modèle de données d'entité à générer la base de données automatiquement) le problème, c'est quand mon supprimer la fonction est exécuté une seule LIGNE à partir du 1er tableau est supprimé..
PS: j'ai aussi déjà créer la relation entre les 3 table
voici mon controller:
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
//i've edited this code, i think the problem lies in this code bellow
//start edited code
ms_student ms_student = db.ms_student
.Include(i => i.ms_person)
.Include(i => i.ms_person.ms_user)
.Where(i => i.user_id_student == id)
.Single();
//end edited code
db.ms_student.Remove(ms_student);
db.SaveChanges();
return RedirectToAction("Index");
}
c'est mon ms_user modèle:
namespace test.Models
{
using System;
using System.Collections.Generic;
public partial class ms_user
{
public int ID { get; set; }
public string password { get; set; }
public string salt { get; set; }
public Nullable<int> administrative_type_id { get; set; }
public string email_login { get; set; }
public virtual ms_person ms_person { get; set; }
}
}
c'est ms_person modèle:
namespace test.Models
{
using System;
using System.Collections.Generic;
public partial class ms_person
{
public int ID { get; set; }
public Nullable<int> family_id { get; set; }
public string first_name { get; set; }
public string last_name { get; set; }
public string email { get; set; }
public string address { get; set; }
public string phone_address { get; set; }
public string mobile_phone_number { get; set; }
public string gender { get; set; }
public Nullable<System.DateTime> date_of_bith { get; set; }
public Nullable<System.DateTime> date_start { get; set; }
public Nullable<System.DateTime> date_end { get; set; }
public string status { get; set; }
public string identification_ID { get; set; }
public string passport { get; set; }
public Nullable<int> user_type_id { get; set; }
public string file_image { get; set; }
public virtual ms_student ms_student { get; set; }
public virtual ms_user ms_user { get; set; }
}
}
Enfin mon ms_person modèle:
namespace test.Models
{
using System;
using System.Collections.Generic;
public partial class ms_student
{
public int user_id_student { get; set; }
public int student_code { get; set; }
public int course_id { get; set; }
public string degree { get; set; }
public Nullable<int> current_semester { get; set; }
public string cuti_session { get; set; }
public virtual ms_person ms_person { get; set; }
}
}
juste vous faire savoir que le modèle de code est généré automatiquement, je suis en utilisant ado.net modèle d'entité et la seule table/l'entité qui a supprimé ne sont que les ms_student table(désolé, je suis un peu confus avec de nommage: modèle ou de l'entité ou de la table)
l'ID sur ms_person sont incrément automatique PK
l'ID sur ms_user fait le FK également le PK de ms_person
et (bêtement de moi pour le nommage différentes) user_id_student fait le FK également le PK de ms_person
merci beaucoup
Vous devez vous connecter pour publier un commentaire.
Je pense que je viens de trouver une solution,
- je changer mon supprimer contrôleur avec ceci:
avec ce tout le dossier à partir de 3 tableau est supprimé, mais je ne suis pas sûr que ce soit la meilleure solution, parce que, comme vous pouvez le voir j'ai juste modifié l'Inclure (), et je ne suis pas vraiment sûr que cette méthode peut être utilisée sur d'autres controller...
merci beaucoup, n'hésitez pas, si quelqu'un peut mettre une meilleure solution pour mon problème.. 😀
Vous souhaitez également supprimer le ms_person et ms_user?
Ce faire.