2012-09-24 76 views
0

我得到一個錯誤,當我嘗試運行LINQ以下查詢到的實體:LINQ表達式節點類型在LINQ支持,以實體

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

不知道這個問題是相似的:http://stackoverflow.com/questions/3392612/convert-datatable-to-ienumerablet – John

回答

5

你只需要更換在你SelectWhere部分:

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

謝謝,它工作。 –

相關問題