Идентификатор столбца встречался в спецификации более одного раза? - PullRequest
6 голосов
/ 22 апреля 2011

Я получаю это сообщение об ошибке при использовании первого подхода к коду EF 4.1 с Sql compact 4. Я не вижу ни одной модели, у которой столбец идентификатора больше одного, поэтому я понятия не имею, почему произошла эта ошибка. Что может вызвать эту ошибку?

Редактировать: я хочу указать несколько дополнительных вещей. Создание базы данных - это успех, а создание модели - нет. И исключение было брошено из методов sqlce.

Ответы [ 2 ]

5 голосов
/ 22 апреля 2011

Эта проблема связана с запросом SQL, который возвращает два или более столбцов с одинаковым именем. SQL будет обрабатывать точные повторяющиеся имена в столбцах без проблем, но c # будет выводить сообщения об ошибках повсюду, как этот.

пример ситуации:

TableA
  int Id
  varchar Name

TableB
  int Id
  int A_Id
  varchar Name


SELECT A.*,
       B.Name
FROM TableA A

INNER JOIN TableB 
   ON B.A_Id = A.Id

Столбцы Id и Name будут дублированы и вызовут исключение с EF

1 голос
/ 05 февраля 2013

Это также может быть вызвано тем, что код миграции не обновляется до настоящего времени. Это обычно происходит при выполнении кратных значений Add-Mirgration. Вместо этого выполните следующую команду:

Add-Migration <migration-name> -force
...