Я пытаюсь создать простой веб-API с функциями Azure (триггер Http).
В моей функции я хочу получить доступ к базе данных SQL Server.
Я хотел бы получить свои данные из базы данных, используя Entity Framework Core.
Я бы предпочел использовать новейшие версии, доступные на момент публикации этого:
- Entity Framework Core 3.1.0
- Функции Azure v3 (.NET Core)
У меня есть база данных, поэтому я хочу провести обратный инжиниринг с помощью команды Scaffold-DbContext.
Для этого я добавил следующие пакеты в проект Azure Functions v3, созданный в Visual Studio:
- Microsoft.EntityFrameworkCore.SqlServer (3.1.0)
- Microsoft.EntityFrameworkCore.Tools (3.1.0)
При запуске команды Scaffold-DbContext в консоли диспетчера пакетов появляется следующая ошибка:
Что я делаю не так?
Что я могу сделать, чтобы это исправить?
2 ответа
Я нашел решение проблемы.
Когда проект собирается, dll проекта создается в папке bin \ Debug \ netcoreapp3.0 \ bin , но когда вы пытаетесь запустить команду Scaffold-DbContext, она ищет ее в бине. Папка \ Debug \ netcoreapp3.0 .
Решение. Просто скопируйте dll проекта в эту папку, и тогда все заработает.
Для ошибки попробуйте добавить
<PropertyGroup>
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>
В ваш файл .csproj. Проверьте, можно ли это решить.
Если это не работает, попробуйте создать новый проект под тем же решением и запустите команды платформы сущностей в этом проекте. Это должно работать. Затем импортируйте этот проект в ваш первый проект, это похоже на проблему с функцией Azure.
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.