这是我用于实体模型的Linq语法

IQueryable<string> objEmployee = null;

objEmployee = from res in _db.EMPLOYEEs
              where (res.EMAIL == givenInfo || res.USER_NAME == givenInfo)
              select res.EMAIL;

如何选择多列?就像我想选择res.ID一样。我怎么能收到那些?我认为IQueryable无法正常工作。
这就是所谓的Linq to SQL,对吗?

最佳答案

如其他答案所示,您需要使用匿名类型。

就语法而言,我个人更喜欢方法链接。方法链等效为:-

var employee = _db.EMPLOYEEs
    .Where(x => x.EMAIL == givenInfo || x.USER_NAME == givenInfo)
    .Select(x => new { x.EMAIL, x.ID });

在AFAIK中,声明性LINQ语法在编译时会转换为与此类似的方法调用链。

更新

如果您想要整个对象,则只需省略对Select()的调用,即
var employee = _db.EMPLOYEEs
    .Where(x => x.EMAIL == givenInfo || x.USER_NAME == givenInfo);

10-04 18:36