我正在執行使用LINQ to SQL和LINQPad的「相同」查詢,但結果集略有不同。LINQ-與LINQ to SQL與LINQPad的不同結果
的代碼是
var conn = new SqliteConnection (
"DbLinqProvider=Sqlite;" +
"Data Source=/home/larsenma/database.golden"
);
Models.Main db = new Models.Main (conn);
var runSum =
from rr in db.Runrecords
group rr by rr.RunID into rg
select new
{
LaneCount = rg.Count(),
}
LINQPad正確計算 「LaneCount」,而與LINQ to SQL中我得到1S每個記錄。
使用LINQ to SQL我使用sqlmetal爲DBLinq生成映射,並且使用LINQPad使用IQ驅動程序。我的數據庫是SQLite。
我對這個LINQ的東西比較陌生,有什麼想法我會錯的?
編輯
我已經簡化我查詢到的極簡重現的實例。當我調試生成的SQL我得到
SELECT (SELECT COUNT(*))
FROM runrecords
GROUP BY RunID
這是第二個「COUNT(*)」是缺少的東西了。
謝謝。
謝謝喬。你是對的。我沒有意識到mono中包含的LINQ to SQL的實現是DBLinq。應該在我的問題中提到這一點。 – Mark 2011-05-04 13:11:34
IQueryable工具包是開源的,因此您可能已經成功地在Mono中進行編譯。讓我知道你是怎麼辦的。 – 2011-05-04 13:46:44