2012-03-09 2 views
0

Этот простой кусок SQL работает отлично в SQL сервере ...EntityDataSource CommandText Count Error

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] 

Очевидно что-то отсутствует простой ...

UPDATE

проблема решена Викрам.

Использования select ценности подсчета() и получить индекс графа с графом [0]

ответ

1

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

Binding, как это, возвращается значение:

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

Я помню, пытаясь что и я - System.Data.Objects.MaterializedDataRecord – Luckyl337

+0

вы можете показать мне код, где вы использовали Count [0]? Я отредактировал свой ответ – Vikram

+0

Я использую ListView и привязку в Lable, как это, - Luckyl337