C# LINQ to实体中不支持LINQ表达式节点类型
尝试在LINQ to实体中运行以下查询时出错:C# LINQ to实体中不支持LINQ表达式节点类型,c#,linq,entity-framework,linq-to-entities,iqueryable,C#,Linq,Entity Framework,Linq To Entities,Iqueryable,尝试在LINQ to实体中运行以下查询时出错: var query = DBConn.myView .Select(dm => new App.DTOs.MyDTO { ID = dm.ID, Prop1 = dm.Prop1
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();
私有列表lstDTO;
lstDTO=query.ToList();
但是,如果我从查询中删除
.Where()
,它就会工作。有没有办法在这个查询中使用Where
子句 您只需交换选择
和其中
部分:
var query = DBConn.myView
.Where(dm => dm.TypeID != 4)
.Select(dm => new App.DTOs.MyDTO
{
ID = dm.ID,
Prop1 = dm.Prop1
....
});
您只需交换
选择
和位置
零件即可:
var query = DBConn.myView
.Where(dm => dm.TypeID != 4)
.Select(dm => new App.DTOs.MyDTO
{
ID = dm.ID,
Prop1 = dm.Prop1
....
});
不确定此问题是否相似:不确定此问题是否相似: