Ошибка при обновлении записи с помощью Subsonic (MySql) - PullRequest
0 голосов
/ 25 августа 2010

Я использую следующий код для обновления записи в моей таблице:

var usr = test.Data.user.SingleOrDefault(y => y.id == 1);
usr.name = "test";
usr.Save();

извлечение строки работает отлично, но когда я сохраняю (), я получаю разрыв NullReferenceException в файле database.cs строка 412, который является следующим кодом:

Constraint c = new Constraint(ConstraintType.Where, tbl.PrimaryKey.Name)
               {
                   ParameterValue = settings[tbl.PrimaryKey.Name],
                   ParameterName = tbl.PrimaryKey.Name,
                   ConstructionFragment = tbl.PrimaryKey.Name   
               };

tbl.PrimaryKey является нулевым в этом месте, что, я думаю, может быть проблемой.У меня есть первичный ключ, установленный в поле id моей таблицы.Я также использую последнюю сборку из репозитория git на Visual Studio 2010. Кто-нибудь может понять, в чем может быть проблема?

РЕДАКТИРОВАТЬ:

Исправлено с помощью ответа от nosynchro вэтот поток:

SubSonic 3 и MySQL, удаление подчеркивания из имени столбца в методе CleanUp () вызывает исключения при использовании свойства в linq-запросе

Надеюсь, это также будет исправленов git-репо.

1 Ответ

0 голосов
/ 05 апреля 2011

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

Код:

   Emptab emp = Emptab.FetchById(txtId.Text);

   emp.Fname = txtFirstName.Text;
   emp.Mname = txtMiddleName.Text;
   .....
   emp.Save();

Здесь, Emptab == Класс для моей таблицы, (Fname, Mname) == Имя столбца таблицы

...