asp.net-mvc - 尝试将 DbSet<TEntity>.Where() 与 EF7 和 ASP.NET5 一起使用

标签 asp.net-mvc entity-framework visual-studio-2015 coreclr

我已经使用 ASP.NET 5 MVC6 项目和一些类库创建了一个解决方案。我正在使用 Visual Studio 2015,目标是“dnxcore50”和“net451”。

在类库中,我使用 EF7 编写存储库代码。在一个类中,我试图在 DbSet<> 上使用一些方法。即“.Where(...)”、“.Single(...)”和“.First(...)”。这些在旧版本的 .NET 上可用。

我收到以下 2 个错误:

.NET Framework 4.5.1 error CS0012: The type 'IEnumerable<>' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

.NET Framework 4.5.1 error CS0012: The type 'Func<,>' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

它似乎在 DNXCORE50 格式中构建没有问题,但不是完整的 4.5.1 版本的 .NET。

我在 project.json 文件中有这个:

"frameworks": {
    "net451": {
      "dependencies": {
        "System.Runtime": "4.0.21-beta-23516"
      }
    },
    "dnxcore50": {
      "dependencies": {
        "System.Runtime": "4.0.21-beta-23516"
        ......
      }
    }
  }

我的目标是 1.0.0-rc1-final DNX SDK 版本。

有什么想法吗?

最佳答案

好吧,我终于想出了原因。如果创建类库,则 project.json 文件具有:

 "net451": { },

在“框架”部分。如果我将其更改为:

"dnx451": { },

然后就可以了。我不是 100% 确定这是否会影响其他任何事情。但我现在会使用它。

关于asp.net-mvc - 尝试将 DbSet<TEntity>.Where() 与 EF7 和 ASP.NET5 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34397406/

相关文章:

asp.net-mvc - 在回发 ASP.NET MVC 上获取复选框值

c# - ASP.net MVC 发送邮件

c# - 如何制作实体表列表

c# - 使用 LINQ 到具有集合属性的实体的最佳方式

c# - VS2015 C# UWP 构建错误、共享项目和后台任务

roslyn - 如何从 VS 包中获取 Roslyn 工作区?

c# - 如何将枚举的值放入 SelectList

javascript - 使用 Ajax 形式 knockout 推送新数组项

c# - 无法加载文件或程序集 'XXX' 或其依赖项之一。该系统找不到指定的文件

tfs - 有没有办法从 TFS 2015 中的特定变更集对构建进行排队?