簡體   English   中英

合適的類型來存儲Linq結果以便以后查詢

[英]Suitable type to Store Linq result in order to be able to query it later

我在我的項目中使用linq to sql。 Form1中,我查詢如下表:

var dc = new Data.MyDataContext();
var query = from c in dc.Customers select c;  
program.MainForm.query = query;

或者在Form2中,我查詢如下表:

var dc = new Data.MyDataContext();
var query = from b in dc.Banks select b;  
program.MainForm.query = query;

我想稍后在MainForm中執行以下操作:

this.DataGridView1.DataSource = this.query.Where(item=>item.ID < 10);

我不知道如何存儲對象。 我嘗試將其存儲為IQueryable,但由於它是接口而無法對其進行查詢。

我想在查詢中存儲來自不同表的結果,這樣做的簡單方法是什么? 我認為泛型可以提供幫助,但我不知道如何。

如果要繼續查詢,則需要IQueryable<T>類型的字段,其中T是要查詢的對象的類型。

如果要保留查詢結果(例如,這樣就可以在RAM內進行搜索而無需再次獲取數據),則需要一些具體的數據結構,例如IList<T>

這兩個選項都是有問題的,因為它們都需要類型參數,並且UserControls不能通用。 我猜您可以使用IQueryable<object>IList<object>但是由於控件對它們的類​​型一無所知,因此您將無法對結果對象做很多事情。

順便說一句,正如@SergeyBerezovskiy指出的那樣,將數據訪問和表示邏輯混合在一起並不是一個好主意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM