Linq to Sql говорит, что товар по «Покупателю» уже существует. Выберите другое имя - PullRequest
1 голос
/ 29 апреля 2010

Я обходился с файлом linq to sql, когда использовал svn довольно долгое время. Последнее, что мой файл dbml показывает, что имеет ошибку, которая утверждает, что

Элемент с именем «Клиент» уже существует. Пожалуйста, выберите другое имя.

И затем это повторяется снова. На самом деле, это говорит почти для каждого объекта. В чем мое решение? Я попытался переименовать имя по имени Клиент, но это не помогло. Я не знаю, куда идти, чтобы это исправить. Я зашел в файл .dbml и не увидел дублирования, а также зашел в файл .dbml.layout и там тоже не увидел дублирования.

Ответы [ 3 ]

1 голос
/ 18 июля 2012

Visual Studio сообщила мне не тот элемент как дубликат. Поэтому, даже когда я удалил тот, который, по его словам, был дубликатом («Клиенты» выше), он просто продолжал сообщать о другом, пока я не сдался, прежде чем я действительно получил тот, который действительно был дураком.

Кроме того, дубликат, скорее всего, находится в конце файла .dbml (щелкните правой кнопкой мыши и выберите «Открыть с помощью»> «Редактор XML (текста)»). Это происходит потому, что Visual Studio всегда перемещает любые изменения в конец файла, поэтому, когда два разработчика автоматически объединяются после изменения одного и того же элемента, довольно легко получить обман.

Запустите SqlMetal вручную, чтобы получить фактическое сообщение об ошибке:

  • Пуск> Microsoft Visual Studio> Инструменты Visual Studio> Visual Studio Командная строка
  • Изменить каталог (cd) на каталог с файлом .dbml
    • (перетащите папку из Проводника в окно командной строки, чтобы получить путь)
  • SqlMetal /code:[filename].designer.cs [filename].dbml
0 голосов
/ 29 апреля 2010

Разобрался. Каким-то образом были двойные ассоциации. Меня смутило то, что это было похоже на то, что оно указывало на объект, и не выглядело так, как будто оно указывает на ассоциацию.

0 голосов
/ 29 апреля 2010

Я не верю, что вы можете иметь имя члена с тем же именем, что и класс, к которому оно принадлежит, например:

public class Customer
{
   public string Customer { get; set; }
   ...
}

Проверьте свою сущность.

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