我一直在介紹自己LinqToSQL最近通過一個糟糕的項目在工作。我很好奇,爲什麼這個工程:基本的LinqToSql問題:爲什麼不能編譯?
var territories = db.Territories.Where(t => t.PendingUserCount > 0);
但是,這會導致編譯錯誤:
var territories = db.Territories;
if (someCondition)
territories = territories.Where(t => t.PendingUserCount > 0);
// Cannot implicitly convert 'System.Linq.IQueryable<Territory> to System.Data.Linq.Table<Territory>
我也試圖打電話db.Territories.ToList()
,但無濟於事。
我相信這只是對Linq工作原理的誤解,但如果有人能幫我解決問題,我會很感激。
好吧,我看到發生了什麼有 我怎樣才能解決這個獲得理想的情況下,我想?爲了能夠在'territories'上調用'.Where',那麼我需要做些什麼才能讓db.Territories返回一個IQueryable? – 2009-04-15 15:09:39
爲什麼你要爲db.Territories指定一個值?你想發佈一個更新回表格?如果沒有,將需要一個單獨的變量來分配您的linq表達式... – flatline 2009-04-15 15:15:41