Bonjour,
je me retrouve devant une ineptie. J'ai un objet personne qui est ajouté dans ma table personne alors que je ne fais pas de Add dans cette table.
Je vous met le code ci-dessous car là, je n'y comprend plus rien ...
Cela se produit à ce save change là :
vm.Demande.IsDeleted = False
context.DemandeLogement.Add(vm.Demande)
context.SaveChanges()
Code ASP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 <HttpPost()> Function Create(ByVal vm As DemandeLogementCreateViewModel, ByVal collection As FormCollection) As ActionResult Dim Filepath As String = String.Empty Dim uploadDir As DirectoryInfo = Nothing Dim targetDir As DirectoryInfo = Nothing Try ModelState.Remove("Personne") ModelState.Remove("TypeDocument") ModelState.Remove("Demande.Personne.RevenuMensuel") ModelState.Remove("Demande.Personne.RevenuMensuelConjoint") ModelState.Remove("Demande.Personne.TotalRevenuMensuel") If ModelState.IsValid Then Dim pers As Personne = context.Personne.FirstOrDefault(Function(x) x.Id = vm.Demande.Personne.Id) If pers Is Nothing Then context.Personne.Add(vm.Demande.Personne) End If If vm.Demande.CritereRecherche Is Nothing Then context.CritereRecherche.Add(New CritereRecherche With {.EstDemandeMutation = False, .EstUrgent = False}) Else context.CritereRecherche.Add(vm.Demande.CritereRecherche) End If vm.Demande.IsDeleted = False context.DemandeLogement.Add(vm.Demande) context.SaveChanges() Filepath = Server.MapPath("~/Fichiers/" & vm.Demande.AsEnCharge & "/temp/" & vm.Demande.Personne.Nom & "_" & vm.Demande.Personne.Prenom) targetDir = New DirectoryInfo(Server.MapPath("~/Fichiers/" & vm.Demande.AsEnCharge & "/" & vm.Demande.Personne.Nom & "_" & vm.Demande.Personne.Prenom & "/" & vm.Demande.Id)) If Directory.Exists(Filepath) Then uploadDir = New DirectoryInfo(Filepath) For Each item As DirectoryInfo In uploadDir.GetDirectories For Each subItem As FileInfo In item.GetFiles 'vm.Demande.Document.Add(New Document With {.Chemin = subItem.DirectoryName, .Nom = subItem.Name}) context.Document.Add(New Document With {.Chemin = targetDir.FullName, .Nom = subItem.Name, .IdDemandeLogement = vm.Demande.Id}) Next Next context.SaveChanges() If Not Directory.Exists(targetDir.FullName) Then Directory.CreateDirectory(targetDir.FullName) End If uploadDir.MoveTo(targetDir.FullName) End If End If Return RedirectToAction("Index") Catch Return View(vm) End Try End Function
Partager