Azure功能与Entity Framework Core 2.0和.NET 4.7

时间:2017-09-07 00:48:37

标签: azure .net-core azure-functions entity-framework-core

我遇到了从Azure函数中运行实体框架查询的问题。相同的代码从控制台应用程序运行完美。

以下是我得到的确切错误:

"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.包含数据模型的我的类库使用.NET Standard 2.0.NET 4.7作为目标框架。我手动将项目更改为具有以下内容:<TargetFrameworks>netstandard2.0;net47</TargetFrameworks>

  1. Azure Functions目标.NET 4.7
  2. 在审核完问题后,我还手动安装了Nuget的ValueTuple DLL,我仍然没有看到
  3. 我有什么遗失的吗?如果有人遇到类似的问题,我很乐意听到。

    谢谢你, 阿努普

1 个答案:

答案 0 :(得分:0)

Azure Functions目前不支持.Net Core 2(更具体地说,.Net Standard 2.0),但是,似乎团队正积极致力于获得此支持...请参阅此处:Port runtime to .NET Core

  

运行时将移植到目标Netstandard 2.0。

我的建议是,如果你真的需要使用EntityFramework,那么也许你可以下载到与.Net 4.7兼容的EF6。

或者,根据您的复杂性,您也可以完全取消使用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();
  }
}