Проблемы: я работаю с унаследованным кодом и пытаюсь добавить связанную сущность, которая имеет четко определенную связь между столбцом кода в одной таблице и отдельной таблицей кода. ПРИМЕЧАНИЕ: Внешний ключ не настроен , а ссылка основана на строковом "Коде", а не первичный ключ.
Я теряю ценные издержки В настоящее время, поскольку эти отношения не подразумеваются, мне, по сути, приходится загружать эти отношения в основную модель. С тысячами коллекций приходится материализовать
Пример:
public class Problem
{
int Id
string ProblemName
string ProblemCode <<< this is the foreign key dependency
}
public class Code
{
int Id
string Code <<< this is the pseudo-primary key
string CodeDescription
}
Возможные решения 2: Привязка модели Я копался в документации Entity Framework и знаю, что это можно установить уникальное ограничение внешнего ключа, за исключением того, что в каждом случае, насколько я могу судить, оно всегда ссылается на явный первичный ключ принципала.
Вопрос 1: Будет ли EF Fluent API разрешить сопоставление необязательного нестандартного FK с нестандартным первичным ключом
Возможное решение 2: загрузка связанной сущности в контекстном вызове. Это менее желательный метод, но я сейчас его изучаю, используя foreach для заполнения слабо связанных сущностей таким образом. К сожалению, использование Select для проецирования этого в существующую композицию не работает, поскольку сущности являются (вздохами) вариантами дочерних сущностей, а вызов запроса имеет абстрактную родительскую сущность (сущность EF - «Проблема», но для выбора потребуется что-то вроде « CarProblem ").
Вопрос 2. Рекомендуемые решения для назначения объекта без использования проекций SELECT (в настоящее время я не верю, что это присутствует)