источник данных сущности один ко многим к одному

Я пытаюсь создать раскрывающийся список с источником данных и запросом. Я получаю следующее сообщение об ошибке, я не уверен, что я делаю неправильно:

'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(Сайт) – Таблица(Сайты)

  • Идентификатор сайта – ПК
  • Пункт списка
  • Организация
  • Имя
  • Фамилия
  • Домен
  • Адрес 1
  • Адрес 2
  • Город
  • Состояние
  • Почтовый индекс
  • Идентификатор страны
  • Телефонный номер
  • Электронное письмо

edm(UserSite) - Таблица(UserSites)

  • Идентификатор пользователя FK
  • Идентификатор сайта FK

person Jason    schedule 16.08.2012    source источник
comment
Я не думаю, что этот пост действительно относится к моему вопросу?   -  person Jason    schedule 17.08.2012


Ответы (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>
person Jason    schedule 17.08.2012