我对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;
}
}
答案 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()