Как ввести переменную в запросе dbcontext.SqlQuery? - PullRequest
1 голос
/ 14 февраля 2020

При создании этой функции в моем контроллере проекта Web API все работает просто отлично.

public IQueryable<EquipmentApproval> GetUserEquipmentApprovalRejections(string username)
{
    return db.EquipmentApprovals.SqlQuery("select * from EquipmentApproval where rejectedReason is not NULL AND createdBy = 'hmbangu'").AsQueryable<EquipmentApproval>();
}

Но, когда я пытаюсь выполнить йо, добавьте переменный параметр, подобный этому:

...
    return db.EquipmentApprovals.SqlQuery("select * from EquipmentApproval where rejectedReason IS NOT NULL AND createdBy = @username" + new SqlParameter("@username", username)).AsQueryable<EquipmentApproval>()
...

Я получаю и ошибка при запросе API, может кто-нибудь сказать мне, пожалуйста, скажите, как добавить переменную в мой запрос dbcontext.SqlQuery (). Я также хочу, чтобы мои данные были восстановлены в виде списка IQueryable.

1 Ответ

1 голос
/ 14 февраля 2020

Вы должны добавить их через запятую

return db.EquipmentApprovals
        .SqlQuery("select * from EquipmentApproval where rejectedReason IS NOT NULL AND createdBy = @username",
            new SqlParameter("username", username))
        .AsQueryable<EquipmentApproval>()
...