当我尝试在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
子句?
答案 0 :(得分:5)
您只需要更换Select
和Where
部分:
var query = DBConn.myView
.Where(dm => dm.TypeID != 4)
.Select(dm => new App.DTOs.MyDTO
{
ID = dm.ID,
Prop1 = dm.Prop1
....
});