从WebAPI IQueryable中排除列

chr*_*net 3 c# entity-framework asp.net-web-api

是否可以从我的WebAPI的IQueryable函数中排除一列?例如,如何从我的人员实体中排除属性"FirstName":

[HttpGet]
public IQueryable<Contact> GetPeople()
{
    return _contextProvider.Context.People;
}
Run Code Online (Sandbox Code Playgroud)

pseudocoded:

[HttpGet]
public IQueryable<Contact> GetPeople()
{
    return _contextProvider.Context.People.ExcludeColumn("FirstName");
}
Run Code Online (Sandbox Code Playgroud)

Ser*_*kiy 7

将结果手动投影到Contact实体,并且不为FirstName列提供数据:

[HttpGet]
public IEnumerable<Contact> GetPeople()
{
    return from p in _contextProvider.Context.People
           select new Contact {
               Id = p.Id,
               LastName = p.LastName
           };
}
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我创建了一些没有FirstName属性的特定DTO对象.