【问题标题】:Azure functions with Entity Framework Core 2.0 and .NET 4.7带有 Entity Framework Core 2.0 和 .NET 4.7 的 Azure 函数
【发布时间】:2018-02-15 14:17:12
【问题描述】:

我在 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,但我仍然看不到

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

谢谢你, 阿努普

【问题讨论】:

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


    【解决方案1】:

    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();
      }
    }
    

    【讨论】:

    • 感谢您的确认。这正是我最终所做的。
    猜你喜欢
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2018-06-21
    • 1970-01-01
    • 2018-02-02
    相关资源
    最近更新 更多