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);
¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top