Entity Framework Core 2.0 和 .NET 4.7 的 Azure 函数

Azure functions with Entity Framework Core 2.0 and .NET 4.7

我 运行 遇到来自 Azure 函数内部的 运行 Entity Framework 查询问题。相同的代码在控制台应用程序中运行得非常好。

这是我得到的确切错误:

"Could not load file or assembly 'System.ValueTuple, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.":"System.ValueTuple, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"

请注意它找不到正确的版本。这可能是个问题吗?

这是我的设置: 1. 我的 Class 包含数据模型的库使用 .NET Standard 2.0.NET 4.7 作为目标框架。我手动将项目更改为具有以下内容:<TargetFrameworks>netstandard2.0;net47</TargetFrameworks>

  1. Azure Functions 目标 .NET 4.7
  2. 检查问题后,我还从 Nuget 手动安装了 ValueTuple DLL,但我仍然没有看到

有什么我遗漏的吗?很想知道是否有人面临类似问题。

谢谢, 阿努普

A​​zure Functions 当前不支持 .Net Core 2(更具体地说,.Net Standard 2.0),但是,该团队似乎正在积极努力获得这种支持...请参阅此处:Port runtime to .NET Core

Runtime will be ported to target Netstandard 2.0.

我的建议是,如果您确实需要使用 EntityFramework,那么也许您可以使用 EF6,它与 .Net 4.7 兼容。

或者,根据您的复杂程度,您也可以完全不使用 EF,而只需使用 SqlConnection/SqlCommands

编写您的命令
using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlConnection"].ConnectionString)) {
  connection.Open();
  var query = "SELECT * FROM Users"; // example query

  using (var command = new SqlCommand(query, connection)) {
    command.ExecuteReader();
  }
}