Linq beendet einfach eine Methode

23/04/2009 - 12:23 von Andreas Mahub | Report spam
Hi Leute,

sitze hier seit zwei Stunden wie angewurzelt vor dem Bildschirm und verstehe
die Welt nicht mehr.
Ich habe in VB eine Methode, welche einen Datensatz hinzufügen soll. Und
jetzt schaut mal:

Private Sub DasIstDieMethode()
...
... Hier wird alles vorbereitet
...
MsgBox("Vor dem Insert làuft noch alles") <-- Wird gezeigt
DB.tbl_Test.InsertOnSubmit(x) <-- Hier verabschiedet sich alles
Stop <-- Selbst das erlebt die Methode nicht mehr.
MsgBox("Ich bin noch da! Nach dem Insert") <-- Wird gar nicht mehr
angezeigt, Programm làuft weiter.
DB.SubmitChanges() <-- Schön wàr's
...
End Sub

Die erste MessageBox wird noch gezeigt. Die zweite kommt erst gar nicht. Wie
kann das denn gehen?
Das Programm selbst làuft sogar normal weiter als wàre nichts gewesen. Im
Direktfenster steht allerdings:
Eine Ausnahme (erste Chance) des Typs "System.InvalidOperationException" ist
in System.Data.Linq.dll aufgetreten.

Kennt einer von euch dieses Phànomen? Ich weiß einfach nicht mehr wo ich
noch suchen soll.

Gruß
Andy
 

Lesen sie die antworten

#1 Andreas Mahub
23/04/2009 - 12:52 | Warnen spam
Hi,

ich habe den Fehler gefunden. Aus mir unerfindlichen Gründen hat der
Linq-Designer von VS2008 ausgerechnet bei dieser Tabelle den Primàrschlüssel
nicht übernommen. Die Eigenschaft "Automatische Synchronisierung" im
Designer für das Datenbankfeld ID stand auf "Nie". Als ich auf "OnInsert"
umgestellt und die Eigenschaft "Primàrschlüssel" stand auf "False", auf
"True" geàndert und jetzt geht es.

Warum der Designer das gemacht hat ist mir nicht ganz klar. Ich war es
nicht, und die Datenbank gibt es schon seit 4 Jahren.

Gruß
Andy

"Andreas Mahub" schrieb im Newsbeitrag
news:
Hi Leute,

sitze hier seit zwei Stunden wie angewurzelt vor dem Bildschirm und
verstehe die Welt nicht mehr.
Ich habe in VB eine Methode, welche einen Datensatz hinzufügen soll. Und
jetzt schaut mal:

Private Sub DasIstDieMethode()
...
... Hier wird alles vorbereitet
...
MsgBox("Vor dem Insert làuft noch alles") <-- Wird gezeigt
DB.tbl_Test.InsertOnSubmit(x) <-- Hier verabschiedet sich alles
Stop <-- Selbst das erlebt die Methode nicht mehr.
MsgBox("Ich bin noch da! Nach dem Insert") <-- Wird gar nicht mehr
angezeigt, Programm làuft weiter.
DB.SubmitChanges() <-- Schön wàr's
...
End Sub

Die erste MessageBox wird noch gezeigt. Die zweite kommt erst gar nicht.
Wie kann das denn gehen?
Das Programm selbst làuft sogar normal weiter als wàre nichts gewesen. Im
Direktfenster steht allerdings:
Eine Ausnahme (erste Chance) des Typs "System.InvalidOperationException"
ist in System.Data.Linq.dll aufgetreten.

Kennt einer von euch dieses Phànomen? Ich weiß einfach nicht mehr wo ich
noch suchen soll.

Gruß
Andy

Ähnliche fragen