【问题标题】:EntityDataSource CommandText Count ErrorEntityDataSource CommandText 计数错误
【发布时间】:2012-03-09 11:02:14
【问题描述】:

这段简单的sql在sql server中完美运行...

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]

获取计数的索引

【问题讨论】:

    标签: sql sql-server entitydatasource


    【解决方案1】:

    VALUE 添加到嵌套的 SELECT 会改为返回 Int32 列表。

    这样绑定,返回值:

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

    【讨论】:

    • 我记得尝试过,我得到了 - System.Data.Objects.MaterializedDataRecord
    • 你能告诉我你使用 Count[0] 的代码吗?我已经编辑了我的答案
    • 我正在使用 ListView 并在这样的 Lable 中绑定 -
    • 将 VALUE 添加到您的巢选择列表中:SELECT VALUE COUNT (pl.Id) FROM PickLocations AS pl WHERE bi.Id == pc.PickBatchItemId
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多