0

我正在使用实体框架中的数据库优先方法,我必须从实体中检索特定列。

Public IQueryable<Entity.Employees> GetEmployeeName(String FName,String LName)
{
     var query = (from s in Employees
                  where s.firstName = FName && s.lastName = LName
                  select new {s.firstName, s.middleName});
     return query;
}

这里的 return 语句抛出一个错误,它似乎与Employees(实体)列不匹配。你能帮我解决这个问题吗?提前致谢。

4

1 回答 1

0

您需要使用 == 进行比较,还需要使用动态类型作为返回类型,因为您要返回自定义匿名类型。尝试这个

Public IQueryable<dynamic> GetEmployeeName(String FName,String LName)
{
var query=(from s in Employees
where s.firstName==FName && s.lastName==LName
select new {s.firstName,s.middleName});
return query.AsQueryable();
}

最后,您将像下面一样使用它,请记住,智能感知不适用于动态对象。

var query = GetEmployeeName("Jake", "Smith");
            List<dynamic> results = query.ToList();
            foreach (dynamic result in results)
            {
                string fristName = result.FirstName;
                string lastName = result.MiddleName;
            }
于 2016-11-21T19:56:29.067 回答