【问题标题】:LINQ expression node type is not supported in LINQ to EntitiesLINQ to Entities 不支持 LINQ 表达式节点类型
【发布时间】:2012-09-24 11:34:40
【问题描述】:

当我尝试在 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 子句?

【问题讨论】:

标签: c# linq entity-framework linq-to-entities iqueryable


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多