Оператор обновления Entity Framework, генерирующий неверный SQL для Firebird - PullRequest
1 голос
/ 07 апреля 2011

Я использую Firebird 2.5.0 с Entity Framework, который работает хорошо. Однако недавно я что-то изменил (я полагаю), и теперь SQL, который генерируется при попытке сохранить мои изменения, недопустим для Firebird:

update ( select [fields] from [table]) set [field] = @p0 where ([keyfieldn = @pn])

Насколько я знаю, Firebird 2.5.0 не поддерживает этот синтаксис, и когда я пытаюсь сохранить изменения, я получаю сообщение об ошибке SQL, которое говорит об этом («Токен неизвестен, столбец 8: (»)

Я не уверен, что теперь делать. Что заставило бы экземпляр UpdateTranslator генерировать этот SQL вместо того, что он должен был сгенерировать до того, как я сломал его?

1 Ответ

1 голос
/ 09 ноября 2012

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

...