Как я могу написать это утверждение, используя EF Core 2.1? - PullRequest
0 голосов
/ 12 сентября 2018

Я переключаю свой код с 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 вместо всей записи задания.

Я видел что-то подобное, но я не мог заставить его работать:

var pinnedJobIds = ctx.Query<int>()

но я не получил никакой опции для FromSql.

Как я могу сделать это в EF Core?

1 Ответ

0 голосов
/ 13 сентября 2018

Если Job - это тип сущности, вы можете написать его так:

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