Получить результаты из запроса EF linq - PullRequest
1 голос
/ 27 апреля 2019

Я немного новичок в C #.Я пытаюсь получить запрос C # и у меня возникли проблемы с получением параметров, таких как идентификатор, местоположение, имя ....

Результат запроса находится в заданиях, и я хочу получить объект заданий, чтобы получить всемои данные.

Это код, который я пробовал:

public .. searchRelevantJob(string skills, string location, string category)
{
    Database1Entities o = new Database1Entities();
    JobPost j = new JobPost();

    using (Database1Entities context = new Database1Entities())
    {
        // Query for all blogs with names starting with B
        var jobs = from b in context.JobPosts
                   where b.Locationn.Equals(location) && 
                         b.RequiredSkills.Equals(skills) && 
                         b.Department.Equals(category)
                   select b;               
        return jobs;
    }
}

1 Ответ

1 голос
/ 27 апреля 2019

Запрос linq возвращает коллекцию типа, указанного в предложении select. Таким образом, вы хотите, чтобы ваш метод возвращал IEnumerable<JobPost>:

public IEnumerable<JobPost> searchRelevantJob(string skills, string location, string category) { ... }

(Вы также можете увидеть, что если вы отлаживаете и проверяете тип jobs - var не волшебное слово, оно просто поможет с длинными именами типов, не позволяйте этому сбить вас с толку)

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

return context.JobPosts.Where(b => b.Locationn.Equals(location) && 
                     b.RequiredSkills.Equals(skills) && 
                     b.Department.Equals(category));

Если вы ожидаете только один элемент, вы можете использовать FirstOrDefault вместо Where. См. Также: Entity Framework 4 Single () против First () против FirstOrDefault ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...