我是一個建立一個Windows Phone 8應用程序。我決定在便攜庫中使用Sqlite PCL來緩存一些數據。Sqlite PCL和Linq - 是SQLite.Net表方法將整個表加載到集合?
我沒有在互聯網上找到最近的信息,我是否可以在桌子上使用或不使用LINQ。
當然,我能做到這一點
var phones = db.Table<PhoneNumber>().Where(x => some condition).ToList();
如果我看一看在Where
語句的返回值,它是一個TableQuery
。
我的問題是:我是否通過這樣檢索所有電話號碼,然後使用Linq過濾這些項目? 或者linq在返回它們之前直接在sql命令中過濾項目?
在我看來,我咬咬牙說,LINQ的直接過濾項目中的sql語句作爲Where
函數返回一個TableQuery
,但我沒有發現任何的確認。
第二個問題:當我使用FirstOrDefault
時是否一樣?
'linq'是一種查詢語言,而不是語言的實現。您需要將您的'linq'查詢轉換爲'SQL',而最低限度爲'ORM'並帶有' LinqProvider'。你應該看看'LinqToSQL'' EntityFramework'和'nHibernate',作爲針對SQL數據庫的最流行的Linq實現,但你幾乎可以肯定地避免L2S。 – Aron 2014-11-05 10:46:19