C# 如何在Azure函数中使用实体框架核心

C# 如何在Azure函数中使用实体框架核心,c#,entity-framework-core,azure-functions,C#,Entity Framework Core,Azure Functions,我正在尝试使用Azure函数(Http触发器)制作一个简单的Web API。 在我的函数中,我想访问SQL Server数据库。 我想使用实体框架核心从数据库检索数据。 我更愿意使用发布时提供的最新版本: 实体框架核心3.1.0 Azure功能v3(.NET内核) 我有一个现有的数据库,因此我想使用Scaffold DbContext命令进行反向工程。 为了做到这一点,我已将以下软件包添加到在Visual Studio中创建的Azure Functions v3项目中: Microsoft

我正在尝试使用Azure函数(Http触发器)制作一个简单的Web API。
在我的函数中,我想访问SQL Server数据库。
我想使用实体框架核心从数据库检索数据。
我更愿意使用发布时提供的最新版本:

  • 实体框架核心3.1.0
  • Azure功能v3(.NET内核)
我有一个现有的数据库,因此我想使用Scaffold DbContext命令进行反向工程。
为了做到这一点,我已将以下软件包添加到在Visual Studio中创建的Azure Functions v3项目中:

  • Microsoft.EntityFrameworkCore.SqlServer(3.1.0)
  • Microsoft.EntityFrameworkCore.Tools(3.1.0)
在包管理器控制台中运行Scaffold DbContext命令时,出现以下错误:



我做错了什么?

我能做些什么来修复此问题?

对于thr错误,请尝试添加

<PropertyGroup>               
    <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>

假的
到您的.csproj文件。测试是否可以解决


如果不起作用,请尝试在同一解决方案下创建一个新项目,并在该项目中运行entity framework命令。这应该行得通。然后将此项目导入到您的第一个项目中,这似乎是azure功能的问题。

我找到了问题的解决方案。

构建项目时,项目dll将生成到bin\Debug\netcoreapp3.0\bin文件夹,但当您尝试运行Scaffold DbContext命令时,它会在bin\Debug\netcoreapp3.0文件夹中查找该dll。


解决方案。只需将项目dll复制到该文件夹中,即可正常工作

如果这篇文章对你有帮助。嗨,如果你找到了这个问题的答案,你可以把你的答案标记为这个问题的答案。这将帮助其他遇到类似问题的人。