Amc*_*tty 0 c# linq linq-to-entities entity-framework iqueryable
当我尝试在LINQ to Entities中运行以下查询时出现错误:
var query = DBConn.myView
.Select(dm => new App.DTOs.MyDTO
{
ID = dm.ID,
Prop1 = dm.Prop1
....
})
.Where(dm => dm.TypeID != 4);
Run Code Online (Sandbox Code Playgroud)
错误消息是:
LINQ expression node type 'TypeID' is not supported in LINQ to Entities
Run Code Online (Sandbox Code Playgroud)
它在.ToList()通话中失败:
private List<MyDTO> lstDTO;
lstDTO = query.ToList();
Run Code Online (Sandbox Code Playgroud)
但是,如果我.Where()从查询中删除它,它的工作原理.有没有办法在Where这个查询中使用该子句?
你只需要交换你Select和Where周围的部分:
var query = DBConn.myView
.Where(dm => dm.TypeID != 4)
.Select(dm => new App.DTOs.MyDTO
{
ID = dm.ID,
Prop1 = dm.Prop1
....
});
Run Code Online (Sandbox Code Playgroud)