Этот простой кусок 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]
Очевидно, что пропускаю что-то простое ...
ОБНОВЛЕНИЕ
Проблема, решаемая Викрамом.
Использование select value count () и получение индекса счета с помощью Count [0]