0

当我尝试在 LINQ to Entities 中运行以下查询时出现错误:

 var query = DBConn.myView
                            .Select(dm => new App.DTOs.MyDTO
                            {
                                ID = dm.ID,
                                Prop1 = dm.Prop1
                                ....
                            })
                            .Where(dm => dm.TypeID != 4); 

错误消息是:

LINQ expression node type 'TypeID' is not supported in LINQ to Entities

通话失败.ToList()

private List<MyDTO> lstDTO;
lstDTO = query.ToList();

但是,如果我.Where()从查询中删除它,它就可以工作。有没有办法在Where这个查询中使用该子句?

4

1 回答 1

5

你只需要交换你的SelectWhere部分:

var query = DBConn.myView
              .Where(dm => dm.TypeID != 4)
              .Select(dm => new App.DTOs.MyDTO
                            {
                                ID = dm.ID,
                                Prop1 = dm.Prop1
                                ....
                            });
于 2012-09-24T11:36:31.297 回答