这是我用于实体模型的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);