Как создать синоним SQL с помощью Entity Framework Core?

#c# #sql #entity-framework-core

#c# #sql #entity-framework-core

Вопрос:

Я должен использовать синоним из внешней базы данных в своем приложении. Возможно ли создать каркас для синонима с использованием Entity Framework Core в первом подходе к базе данных? Я пытался передать имя синонима в -Tables switch при попытке создания каркаса, но вывод в консоли сообщил мне «Не удается найти таблицу в базе данных, соответствующую выбранной таблице MY_SYNONYM». Как работать с синонимами с помощью EF Core?

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

1. Я удивлен, что вы не получили никакого ответа. Вы разобрались с этим?

2. @JohnnyWu Спасибо за ваш интерес. Если я правильно помню, в те дни не было возможности создать каркас для синонима (но я не уверен на 100%.). Похоже, что в более новых версиях нашего ORM такая функциональность по-прежнему не поддерживается. С уважением

Ответ №1:

В наших обстоятельствах мы реплицировали таблицы (используя синонимы) в другую базу данных из нашей ERP-системы, чтобы уменьшить нагрузку на ERP для дополнительных функций, таких как отчетность. Итак, я создал каркас классов из самой ERP, а затем указал контекст для DB с синонимами.

Но, отвечая на ваш вопрос, 2 года спустя в EF Core все еще не появляется поддержка синонимов.

Ответ №2:

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

Это некрасиво, но работает