Subsonic: Repositorio simple - Actualizar bloqueo
-
19-09-2019 - |
Pregunta
Cada vez que intento usar un repositorio simple para simplemente actualizar un registro, obtengo una referencia de objeto que no se establece en una instancia de un error de objeto. Sospecho que estoy haciendo algo incorrecto, ¿alguien puede ver un problema con las siguientes líneas de código para guardar datos en Subsonic?
Estoy usando .NET 3.5, SQL Server 2008 y Subsonic 3.0.
Gracias por cualquier ayuda.
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);
Solución
Supongo que por alguna razón obtienes un nuevo objeto en la línea:
SimpleObject simpleReloaded = repo.Single<SimpleObject>(simple.ID);
Entonces, cuando intenta actualizarlo, subsonía está lanzando una excepción porque SimpleReloaded no tiene una clave principal. Intente verificar el valor de Simple.id y luego vea si SimpleReladed está realmente poblado o si solo está obteniendo un nuevo SimpleObject
EDITAR: Parece que este es un error, intente extraer la última versión de github
Otros consejos
Obtenga la construcción diaria aquí para abordar su problema (como dijo Adam anteriormente):
http://github.com/subsononic/subsononic-3.0/tree/master
Debe compilar para extraer el subsonic.core.dll