2011-06-21 16 views
0

我想查詢不同的表格,比如說蘋果和汽車,它們沒有任何關係,因此活動記錄只能進入一次數據庫。如何在一個批次中查詢不相關表中的實體

實例僞代碼:

var q1 = new Query("select * form apple"); 
var q2 = new Query("select * from car"); 

var batchQuery = new BatchQuery(q1,q2); 
var result = BatchQuery.Execute(); //only one trip to the database 

var apples = result[0] as IEnumerable<Apple>; 
var cars = result[1] as IEnumerable<Car>; 

我已經試過ActiveRecordMultiQuery,但所有的查詢需要查詢同一個表。

回答

0

我不認爲有辦法做到這一點。

看起來你可能會在這裏與優化有點過度:它真的使你的應用程序有顯着的區別做出2個單獨的查詢嗎?我想你的時間可能會更好,而不是在應用程序的其他地方尋找N+1 select查詢。

如果一個額外的查詢的成本是事實上很重要,那麼你可能有一個與數據庫服務器或連接到它的問題。

相關問題