この単純なSQLは、SQLサーバーで完璧に機能します...
Select it.Id as Id, it.Status as Status,
(SELECT COUNT (*) FROM PickLocations as pl WHERE pl.PickBatchItemId = bi.Id) AS Counts
FROM PickBatches AS it
INNER JOIN PickBatchItems as bi ON it.Id = bi.PickBatchId
私に与える...
Id, Status, Counts
-------------------
1 1 2
2 1 0
3 2 2
しかし、文句を言わないように変更を加えた後...
Select it.Id as Id, it.Status as Status,
(SELECT COUNT (pl.Id) FROM PickLocations AS pl WHERE bi.Id == pc.PickBatchItemId) AS Count
FROM PickBatches AS it
INNER JOIN PickBatchItems as bi ON it.Id == bi.PickBatchId
これを EntityDataSource CommandText で使用すると...
Id, Status, Counts
-------------------
1 1 System.Collections.Generic.List`1[System.Data.Common.DbDataRecord]
2 1 System.Collections.Generic.List`1[System.Data.Common.DbDataRecord]
3 2 System.Collections.Generic.List`1[System.Data.Common.DbDataRecord]
明らかに単純なものが欠けています...
アップデート
Vikram によって解決された問題。
select value count()を使用し、 Count[0]でカウントのインデックスを取得する