EntityDataSource CommandText Count Error - PullRequest
0 голосов
/ 09 марта 2012

Этот простой кусок 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]

1 Ответ

1 голос
/ 09 марта 2012

Добавление VALUE к вложенному SELECT вместо этого вернул список Int32.

При таком связывании вернулось значение:

Count='<%# Eval("Count[0]") %>'
...