我正在使用 RIA 服务开发应用程序,在我的 DomainService 类中,我拥有 RIA 为一般 CRUD 操作生成的所有标准函数。问题是我尝试创建自己的函数,该函数在 Select 语句中列出所有 45 列,将仅列出 2(NOM 和 PRENOM),并且还根据在 Where 子句中收到的参数。
子句条件运行良好,但代码仍返回所有 45 列,而不是仅返回指定的 2 列。这是代码:
public IQueryable<EMPLOYE> GetEMPLOYEs(string strPRENOM, string strNOM)
{
IQueryable<EMPLOYE> query = this.Context.EMPLOYEs.AsQueryable();
//This Doesn't work... all 45 clomuns are returned!!!
query = from e in this.Context.EMPLOYEs select e;
query.Select(e => new { e.PRENOM, e.NOM });
// This Doesn't Work too!!!! Error:Cannot implicitly convert type 'System.Linq.IQueryable<AnonymousType#1>' to 'System.Linq.IQueryable<AffPoste.Web.EMPLOYE>'. An explicit conversion exists (are you missing a cast?)
//query = from e in this.Context.EMPLOYEs select new{e.PRENOM, e.NOM};
// Clause Conditions "Where"
if (!String.IsNullOrEmpty(strPRENOM)) query = query.Where(e => e.PRENOM.Contains(strPRENOM));
if (!String.IsNullOrEmpty(strNOM)) query = query.Where(e => e.NOM.Contains(strNOM));
return query;
}
提前致谢。