我将代码从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中做到这一点?
答案 0 :(得分:0)
如果Job是实体类型,则可以这样编写:
var pinnedJobIds = ctx.Jobs
.FromSql($"Select * From UserJobsPinned Where UserId={userId}")
.Select(j => j.JobId)
.ToList();