【问题标题】:How can I write this statement using EF Core 2.1?如何使用 EF Core 2.1 编写此语句?
【发布时间】:2018-09-14 00:39:03
【问题描述】:

我正在将我的代码从 EF6 切换到 EF Core 2.1,但我被困在这条线上:

var pinnedJobIds = ctx.Database.SqlQuery<int>("Select JobId From UserJobsPinned Where UserId=@p0", userId).ToList();

我知道 EF Core 允许这样做:

ctx.Jobs.FromSql("Select * From Jobs").ToList();

但是,我不知道如何简单地返回 Id 字段而不是整个 Job 记录。

我看到了这样的东西,但我无法让它工作:

var pinnedJobIds = ctx.Query<int>()

但我没有获得 FromSql 的任何选项。

如何在 EF Core 中执行此操作?

【问题讨论】:

    标签: ef-core-2.1


    【解决方案1】:

    如果 Job 是一个实体类型,你可以这样写:

    var pinnedJobIds = ctx.Jobs
        .FromSql($"Select * From UserJobsPinned Where UserId={userId}")
        .Select(j => j.JobId)
        .ToList();
    

    【讨论】:

      猜你喜欢
      • 2019-08-04
      • 1970-01-01
      • 2018-12-05
      • 1970-01-01
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      相关资源
      最近更新 更多