Sybase ASE Entity Framework - Ошибка при обновлении записи в базе данных - «неверный синтаксис рядом с» ('. \ N " - PullRequest
0 голосов
/ 04 августа 2011

Я пытаюсь просто обновить существующую запись. И я получаю сообщение об ошибке - неверный синтаксис рядом с '('. \ N

Entities db = new Entities ();

   try
    {

           var existingObj = new OBJETE
            {
                OB_ID_MR = 348,
                OB_ID_JE = 1156,
                OB_IS_NT = false,
                OB_ID_MS = 88,
                OB_POSITIONABS = "12,12,12,12",
                OB_ORDRE = 1,
                OB_UPDATEDATE = DateTime.Now
            };
            db.OBJETEs.Attach(existingObj);
            db.ObjectStateManager.ChangeObjectState(existingObj, System.Data.EntityState.Modified); 
            db.SaveChanges();

Если я попытаюсь обновить «ненулевые» столбцы, я смогу обновить записи в этой таблице. Но когда я пытаюсь обновить обнуляемые значения, я получаю эту ошибку последовательно. Пожалуйста, совет.

1 Ответ

2 голосов
/ 05 августа 2011

Нашли это!У моей таблицы не было первичного ключа.Entity Framework добавить некоторые дополнительные теги, чтобы отключить обновление таких таблиц.

Таким образом, либо вы добавляете первичный ключ в таблицу, либо, если это не вариант, как в моем случае, обходной путь - открыть файл edmx в текстовом режиме и удалить запись для тега - «DefiningQuery»."и все его содержимое для рассматриваемой таблицы.Кроме того, нам нужно изменить => store: Schema = "dbo" на Schema = "dbo" для этой таблицы.Это должно решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...