Дозвуковой: Простой репозиторий - Обновление Crash - PullRequest
0 голосов
/ 25 августа 2009

Всякий раз, когда я пытаюсь использовать простой репозиторий для простого обновления записи, я получаю ссылку на объект, не установленную для экземпляра ошибки объекта. Я подозреваю, что я делаю что-то неправильно, кто-нибудь может увидеть проблему с приведенными ниже строками кода для сохранения данных в дозвуковой?

Я использую .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);

Ответы [ 2 ]

2 голосов
/ 26 августа 2009

Я предполагаю, что по какой-то причине вы получаете новый объект на линии:

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

Поэтому, когда вы пытаетесь обновить его, SubSonic выдает исключение, потому что simpleReloaded не имеет первичного ключа. Попробуйте проверить значение simple.ID и посмотрите, действительно ли заполняется simpleReloaded или вы просто получаете новый SimpleObject

РЕДАКТИРОВАТЬ: похоже, это ошибка, попытайтесь вытащить последнюю версию из github

0 голосов
/ 26 августа 2009

получите ежедневную сборку здесь, чтобы решить вашу проблему (как сказал Адам выше):

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

вам нужно скомпилировать для извлечения SubSonic.Core.dll

...