EF Модель данных исключение из -за отсутствия первичного ключа
]для некоторых таблиц не хватает первичных ключей при интеграции существующих баз данных в Entity Framework (EF) 4.0. Эта проблема возникает при создании новой модели данных объекта, что приводит к тому, что сообщение об ошибке указывает на отсутствующий первичный ключ, а затем исключает таблицу.
], как правило, считается, что физические первичные ключи должны быть добавлены в затронутую таблицу, чтобы решить эту проблему. Тем не менее, есть обходной путь, который позволяет использовать эти таблицы без изменения их схемы.
]Как следует из Тиллито, этот обходной путь включает изменение оператора SELECT проблемного представления в новом операторе SELECT. Таким образом, вы оберните исходный оператор SELECT, вы можете использовать функцию ISNULL, чтобы указать столбец, который будет использоваться в качестве первичного ключа. Вместо этого вы можете использовать функцию Nullif, чтобы предотвратить указание столбцов в качестве основных ключей.
]Пример:
рассмотрим следующий пример:
]SELECT
ISNULL(MyPrimaryID,-999) MyPrimaryID,
NULLIF(AnotherProperty,'') AnotherProperty
FROM ( ... ) AS temp
]
в этом примере функция ISNULL заставляет EF распознавать «myprimaryid» в качестве первичного ключа, в то время как функция Nullif гарантирует, что «другой проперт» не рассматривается как основной ключ.
], применяя эту технологию, вы можете избежать необходимости изменять схему базы данных и плавно интегрировать существующие таблицы в модель данных EF, позволяя операциям данных без необходимости изменения физического первичного ключа.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3