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);
War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top