2011-08-15 64 views
0

我嘗試通過內容返回對象具有字符串類型:由字符串內容查詢返回的對象

public ObjectQuery<question> getQuestionByContent(String content) 
{ 
    DemoDBEntities _context = new DemoDBEntities(); 
    var x = _context.question.Where(p => p.q_content == content); 
    Debug.WriteLine(((ObjectQuery)x).ToTraceString()); 
    return (ObjectQuery<question>)x; 
} 

我調用上面的函數是:

public question BS_GetQuestionByContent(String content) 
{ 
    DB_Implementation _dal = new DB_Implementation(); 
    return _dal.getQuestionByContent(content).SingleOrDefault<question>(); 
} 

,並得到:

System.Data.EntityCommandExecutionException:「執行命令定義時發生錯誤 請參閱的內部例外細節。「

重要的是要注意: 當我做這個函數時whis int類型String沒有問題。

有什麼想法嗎?

+1

什麼是內部異常? –

+0

內部異常: 描述:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。 異常詳細信息:System.ServiceModel.FaultException'1 [[System.ServiceModel.ExceptionDetail,System.ServiceModel,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]]:執行命令定義時發生錯誤。詳情請參閱內部例外。 – Shirani

+0

在你的數據庫中,q_content是什麼類型? – Becuzz

回答

0

LINQ不允許您使用=來比較數據庫字段和文本數據類型。對於你可以做些什麼的一些想法,看看this SO question.