工作,我有幾個疑問,看起來像下面的兩個例子:一個簡單的Where子句停在EF5
// Example 1:
var dataSeries = (from d in DataSeries
where d.Symbol == symbol
select d).FirstOrDefault();
// Example 2:
return Markets.Where(m => m.DataSeries == dataSeries).ToArray();
,直到我遇到了哪些工作就好了「從數據庫更新模型...」。現在,我得到一個NotSupportedException:
無法創建類型爲 'MyTest.Symbol'的常量值。在此上下文中僅支持基本類型或枚舉 類型。
是的,我驗證了符號和d。 符號(和m。DataSeries和dataSeries)具有相同的類型。
是的,我可以改變我的查詢中使用的P/F鍵的關係,像這樣:
var dataSeries = (from d in DataSeries
where d.Symbol.Id == symbol.Id
select d).FirstOrDefault();
但我真的不希望有改變我的所有代碼到P/F鍵時關係對象關係工作得很好。
問:如何讓我的第一個示例再次運行?
我不知道如何獲得的第一個例子具體工作,但我認爲你的應用程序花費大量時間進行不必要的比較。我相信,唯一需要做的比較是關鍵關係,應該更快。 – IronMan84
我認爲你必須把你的查詢從'linq到entities'到'linq to objects'。您可以通過從DataSeries.ToList()中選擇來完成此操作。希望表DataSeries不是太大。原因是數據庫服務器不知道類型。我感到驚訝的是,它似乎以前工作! – tschmit007