ForeignKeyAttribute для Code First EF Model в разделяемой библиотеке игнорируется - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть решение VS2017 с несколькими проектами:

  • Проект 1: Общая библиотека, содержащая в основном модели EF с использованием Code First и мой класс DbContext. Обычно я использую атрибут ForeignKeyAttribute для сопоставления внешних ключей, а не функцию OnModelCreating в классе DbContext.
  • Проект 2: Проект веб-приложения MVC, ссылки на Проект 1.
  • Проект 3: Функция Azure, ссылки на Проект 1.
  • Проект 4: Azure Webjob, ссылки на Проект 1.

Проект 2 создает экземпляр DbContext и может без проблем получать доступ и запрашивать все объекты.

Проекты 3 и 4 создают экземпляр DbContext, и всякий раз, когда они запрашивают базу данных, возникают ошибки, такие как «Неверное имя столбца« Organization_Id »и« Неверное имя столбца «Organization_Id1». При необходимости я могу решить эту проблему, перейдя в мой класс DbContext и вручную сконфигурировав сопоставления внешних ключей сущностей в функции OnModelCreating. Но у меня много сущностей, и это займет довольно много времени для настройки таким образом.

Я просмотрел ссылки, чтобы выяснить, могу ли я определить что-то, что может существовать в веб-проекте, чего нет в других двух проектах, но есть много, и я не могу понять, какой (если есть) ) ссылки могут отсутствовать.

В идеале я хотел бы иметь возможность просто ссылаться на Project 1 из любого другого проекта, не возвращаясь назад и не добавляя ненужную конфигурацию в функцию OnModelCreating, поскольку я уже объявил эти зависимости ForeignKey через атрибуты, и я знаю, сопоставления правильные, так как все работает правильно при доступе через Project 2.

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