SubSonic: Einfaches Repository - Crash aktualisieren
-
19-09-2019 - |
Frage
Immer wenn ich versuche, ein einfaches Repository zu verwenden, um einfach einen Datensatz zu aktualisieren, erhalte ich eine Objektreferenz, die nicht auf eine Instanz eines Objektfehlers festgelegt ist. Ich vermute, dass ich etwas falsch mache. Kann jemand ein Problem mit den folgenden Codezeilen zum Speichern von Daten in Subsonic sehen?
Ich verwende .NET 3.5, SQL Server 2008 und SubSonic 3.0.
Danke für jede Hilfe.
SimpleRepository repo = new SimpleRepository("Test", SimpleRepositoryOptions.RunMigrations);
//Add the test object
SimpleObject simple = new SimpleObject();
simple.TestString = "Test";
repo.Add(simple);
Console.WriteLine(simple.TestString);
//Reload the object and update it
SimpleObject simpleReloaded = repo.Single<SimpleObject>(simple.ID);
simpleReloaded.TestString = "Editted";
repo.Update(simpleReloaded);//This line seems to crash repeatedly
Console.WriteLine(repo.Single<SimpleObject>(simple.ID).TestString);
Lösung
Ich vermute, dass Sie aus irgendeinem Grund ein neues Objekt in der Leitung bekommen:
SimpleObject simpleReloaded = repo.Single<SimpleObject>(simple.ID);
Wenn Sie also versuchen, es zu aktualisieren, wird eine Ausnahme ausgelöst, da ein einfacher Grundstück keinen Primärschlüssel enthält. Überprüfen Sie den Wert von Simple.ID und sehen Sie dann fest, ob simpleLeLoden tatsächlich besiedelt ist oder ob Sie gerade ein neues SimpleObject erhalten
Bearbeiten: Sieht so aus Github
Andere Tipps
Holen Sie sich den täglichen Aufbau hier, um Ihr Problem anzugehen (wie Adam oben sagte):
http://github.com/subsonic/subsonic-3.0/tree/master
Sie müssen kompilieren, um die subsonic.core.dll zu extrahieren