2013-11-25 56 views
0

我試圖用預先加載與EF但它拋出預先加載LAMBDA錯誤EF 6.0.1

代碼中的錯誤「不能將lambda表達式」:

var medicos = db.Medicos.Include(m => m.Cidade) 
      .Include(m => m.Especialidade).ToList(); 

我看到類似的東西問題和試圖

var medicos = db.Medicos.Include(x => x.Cidades.Select(a => a.Especialidades)); 

但是,這並不工作,要麼

任何解決方案?我已經有usingSystem.Linq

+1

驗證此**在運行時拋出**錯誤?從這段代碼的外觀來看,我期望編譯時錯誤。如果編譯時間請給出確切的錯誤。兩種Medicos屬性的定義將會有所幫助。 –

+0

這是使用ObjectQuery嗎? 'Include'沒有接受lambda表達式的重載(嘗試'Include(「Cidade」)')。 – Chris

+0

NeverMind,我犯了一個錯字....其中Include(m => m.Cidade)應該包含(m => m.Cidades)以匹配表名...對我感到羞恥:/,謝謝! ; d – Sylar

回答

0

添加此作爲一個答案......這裏

我的問題是一個錯字,其中

Include(m => m.Cidade) 

應該

Include(m => m.Cidades) 

t o匹配表名,EF沒有找到表名「Cidade」,並認爲它是一個字符串

希望這可以幫助某人。

1

確保你有這些使用

using System.Data.Entity; 
using System.Linq; 
using System.Linq.Expressions;