1

次のように tblOrderFile から行データを取得するために機能する EntityDataSource があります。

<asp:EntityDataSource ID="entityDataSourcePreorder" runat="server" 
        ConnectionString="name=iDBEntities" 
        DefaultContainerName="iDBEntities" EnableFlattening="False" 
        EntitySetName="tblOrderFiles" 
        Select="it.[pkOrderFileID], it.[fkOrderFileStatusID], it.[Filename], it.[CreateDate], it.[UserId]" 
        AutoGenerateWhereClause="True" EntityTypeFilter="" Where="">

子テーブル tblOrderFileItem (エンティティ セット名 tblOrderFileItems) の行数も返すように変更したいと思います。

次のように Include ディレクティブを追加して、Count を機能させる方法を見つけました。

    <asp:EntityDataSource ID="entityDataSourcePreorder" runat="server" 
        ConnectionString="name=iDBEntities" 
        DefaultContainerName="iDBEntities" EnableFlattening="False" 
        EntitySetName="tblOrderFiles" Include="tblOrderFileItems"
        AutoGenerateWhereClause="True" EntityTypeFilter="" Where="" >
    </asp:EntityDataSource>

しかし、これは各注文アイテムのすべての行のすべての列を返していると思います。私は本当に Count だけが必要で、残りのデータを Web ページに配信したくありません。

また、単純に it.tblOrderFileItems.Count を Select ステートメントに追加しようとしましたが、エラーが発生しました

「Count」は「Transient.collection[MyDBModel.tblOrderFileItem(Nullable=True,DefaultValue=)]」のメンバーではありません。コレクション要素のプロパティを抽出するには、サブクエリを使用してコレクションを反復処理します。

4

1 に答える 1

0
Select="ANYELEMENT(SELECT VALUE Count(c.ItemId) FROM it.tblOrderFileItems AS c) as ChildCount"
于 2013-07-12T03:09:45.123 に答える