1

entitydatasource とクエリを使用してドロップダウン リストを作成しようとしています。次のエラー メッセージが表示されます。何が間違っているのかわかりません。

「UserId」は「Transient.collection [WebAppModel. UserSite(Nullable=True, DefaultValue=)]'. コレクション要素のプロパティを抽出するには、サブクエリを使用してコレクションを反復処理します。単純識別子付近、6 行目、69 列目。

エンティティ データ ソース

<asp:EntityDataSource ID="edsSites" runat="server" 
                ConnectionString="name=WebAppEntities" 
                DefaultContainerName="WebAppEntities" 
                EntitySetName="Sites" 
                Include="Sites, UserSites" 
                Where="EXISTS(SELECT Sites.SiteId, Sites.Domain FROM Sites 
                            WHERE UserSites.UserId=@UserId)">
    <WhereParameters>
        <asp:Parameter Name="UserId" DbType="Guid" />
    </WhereParameters>
</asp:EntityDataSource>

edm(サイト) - テーブル(サイト)

  • サイト ID - PK
  • リスト項目
  • 組織
  • ファーストネーム
  • 苗字
  • ドメイン
  • 住所(1
  • アドレス2
  • 郵便番号
  • 国ID
  • 電話番号
  • Eメール

edm (ユーザー サイト) - テーブル (ユーザー サイト)

  • ユーザー ID FK
  • SiteId FK
4

1 に答える 1

1

問題は解決された!

<asp:EntityDataSource ID="edsSites" runat="server" 
                                    ConnectionString="name=WebAppEntities" 
                                    DefaultContainerName="WebAppEntities" 
                                    EntitySetName="Sites"
                                    Where="EXISTS(SELECT VALUE u FROM it.UserSites AS u WHERE u.UserId = @UserId)" EnableFlattening="False" Select="it.[SiteId], it.[Domain]">
                                    <WhereParameters>
                                        <asp:Parameter Name="UserId" DbType="Guid" />
                                    </WhereParameters>
</asp:EntityDataSource>
于 2012-08-17T03:38:52.190 に答える