LINQ to SQL과 LINQPad를 사용하여 "동일한"쿼리를 실행하고 있지만 결과 집합이 약간 다르게 나타납니다.LINQ - LINQ to SQL 대 LINQPad의 다른 결과
코드는 내가 각 레코드에 대해 1 초를 얻을 SQL로 LINQ와 동시에
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 DBLinq에 대한 매핑을 생성하기 위해 sqlmetal을 사용했으며 LINQPad는 IQ 드라이버를 사용했습니다. 내 데이터베이스는 SQLite입니다.
나는이 LINQ 물건에 대해 새삼 스럽다.
는 나는 미니멀 재현 인스턴스 내 쿼리를 단순화했습니다
을 편집합니다. 생성 된 SQL을 디버깅 할 때
SELECT (SELECT COUNT(*))
FROM runrecords
GROUP BY RunID
두 번째 "COUNT (*)"는 누락 된 항목입니다.
감사합니다.
감사합니다. Joe. 당신이 올바른지. 모노에 포함 된 SQL에 대한 LINQ 구현이 DBLinq라는 것을 알지 못했습니다. 내 질문에 언급 했어야했다. – Mark
IQueryable 툴킷은 오픈 소스이므로 Mono로 컴파일 할 때 성공할 수 있습니다. 어떻게 지내는지 알려줘. –