«Обман» ядра EF для использования уникального ключа вместо первичного ключа

#entity-framework #entity-framework-core #ef-code-first-mapping

#entity-framework #entity-framework-core #ef-code-first-mapping

Вопрос:

У меня есть база данных на работе, в которой есть таблицы без первичных ключей (Sql Server). Он использует другую схему. Он имеет уникальный (иногда составной) ключ для каждой таблицы. Я никак не могу изменить базу данных. Это база данных поставщика.

Можно ли обмануть EF, заставив думать, что уникальный ключ является первичным ключом? Будут ли какие-либо проблемы со вставкой или обновлением записей?

Спасибо,

Рик

Комментарии:

1. Я имею в виду, вместо объявления этого индекса я могу объявить это как первичный ключ? Это, должно быть, было намерением разработчиков базы данных для этих таблиц.

2. вы хотите сказать, что ни возможность определения составных PKS ( ef.readthedocs.io/en/latest/modeling/keys.html ) или альтернативные ключи ( ef.readthedocs.io/en/latest/modeling/alternate-keys.html ) поможет, и вы ищете другое решение? Кроме того, чтобы быстро наверстать упущенное, EF7 был переименован в EF Core 🙂

3. Я не могу изменить базу данных. У них есть соглашение о том, что их уникальный индекс является поддельным первичным ключом.

4. Также невозможно использовать альтернативный ключ, поскольку клавиши alt связаны с первичным ключом

5. @JulieLerman Я действительно хочу использовать fluent key задавался вопросом, есть ли проблемы с его использованием таким образом с уникальным индексом вместо фактического ключа