从EF linq查询中检索结果

时间:2019-04-27 06:21:54

标签: c# entity-framework linq

我对C#有点陌生。我正在尝试检索C#查询,但是在获取参数(例如ID,位置,名称...)时遇到一些问题。

查询的结果在作业中,我想检索作业对象以获取所有数据。

这是我尝试过的代码:

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 个答案:

答案 0 :(得分:1)

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() vs First() vs FirstOrDefault()