Sumponic: Simple Repository - обновление сбой
-
19-09-2019 - |
Вопрос
Всякий раз, когда я пытаюсь использовать простой репозиторий для простого обновления записи, я получаю ссылку на объект, не установленную на экземпляр ошибки объекта. Я подозреваю, что я делаю что -то неправильное, может ли кто -нибудь увидеть проблему с нижеприведенными строками кода для сохранения данных в дозвуковую?
Я использую .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);
Поэтому, когда вы пытаетесь обновить его, дозвуковое исключение выкладывает исключение, потому что у SidleereLoded нет первичного ключа. Попробуйте проверить значение simple.id, а затем посмотрите, на самом деле проще загружается или просто получаете новый SimpleObject
РЕДАКТИРОВАТЬ: Похоже, это ошибка, попробуй вытащить последнюю версию из GitHub
Другие советы
Получите ежедневную сборку здесь, чтобы решить вашу проблему (как сказал Адам выше):
http://github.com/subsonic/subsonic-3.0/tree/master
Вам нужно компилировать для извлечения oombonic.core.dll