我有一些LINQ to SQL類是數據庫中的單個表(即,我將表從SQL Server對象瀏覽器拖放到DBML設計佈局窗口)。我正在考慮過濾表時,我填我的視圖模型觀察到的集合,像這樣:(註釋掉了,但你的想法):LINQ to SQL或其他選項
class ObservableDocuments : ViewableCollection<Document>
{
public ObservableDocuments(DataClasses1DataContext dataDc)
{
foreach (Document doc in dataDc.Documents)//.Where(x => x.JobID == 1))
{
this.Add(doc);
}
}
}
我想知道如果這是處理這個過濾的最佳方式。在實際查詢數據庫之前,LINQ to SQL是否等待直到此調用,還是整個表仍然被拉入DataContext.Documents表中,然後我只是將我想要的那些添加到ObservableCollection中?如果是後者,那麼LINQ to SQL中有更好的方法來過濾結果,還是應該離開這個框架?
是//.Where(x => x.JobID == 1))什麼想篩選,因爲您的評論出來 –
@COLDTOLD是的,我展示目前如何做到這一點(不過濾器)和我打算做的事情(過濾器),但我正在添加JobID字段和其他一些邏輯來支持它。這個問題引起了我的興趣,所以我想在太遠之前詢問,以防我忽略了一些事情。 –
在課程結束後是否將文檔添加到數據庫中?如果你已經緩存了一些已被刪除的文檔,該怎麼辦?只需在構造函數中使用連接字符串,然後按需填充文檔可能會更好。 –