문제

간단한 저장소를 사용하여 간단히 레코드를 업데이트하려고 할 때마다 객체 참조가 객체 오류의 인스턴스로 설정되지 않습니다. 내가 잘못된 일을하고 있다고 생각합니다. 누구든지 데이터를 subsonic에 저장하기 위해 아래 코드 줄에 문제가있을 수 있습니까?

.NET 3.5, SQL Server 2008 및 Subsonic 3.0을 사용하고 있습니다.

도움을 주셔서 감사합니다.

        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);
도움이 되었습니까?

해결책

내 생각에 어떤 이유로 든 당신은 라인에서 새로운 객체를 얻는 것입니다.

SimpleObject simpleReloaded = repo.Single<SimpleObject>(simple.ID);

따라서 시도하고 업데이트하면 SimplerEloaded에는 기본 키가 없기 때문에 Subsonic은 예외를 던지고 있습니다. Simple.id의 값을 확인한 다음 SimplerEloaded가 실제로 인구가 발생했는지 또는 새로운 SimpleObject를 받고 있는지 확인하십시오.

편집 : 이것은 버그 인 것 같습니다. github

다른 팁

Adam이 위에서 말했듯이 문제를 해결하기 위해 매일 빌드를 가져 오십시오.

http://github.com/subsonic/subsonic-3.0/tree/master

subsonic.core.dll을 추출하려면 컴파일해야합니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top