Entity Framework 4.0 - EntityDataSource запрос отношения многие ко многим? - PullRequest
0 голосов
/ 19 января 2011

Я хочу выполнить выборку по 2 объектам (AppRoles и AppUsers),

Если в SQL я бы сделал это, например:

SELECT u.*, r.* FROM AppUsers u ,AppRoles r WHERE u.RoleID = r.RoleID 

Также это можно сделатьиспользование синтаксиса LINQ в Code-Behind.

Однако я не знаю, как это сделать в EntityDataSource

Ниже приведена моя разметка:

<asp:EntityDataSource ID="edsUsers" runat="server" 
    ConnectionString="name=ReferralDBEntities" 
    DefaultContainerName="ReferralDBEntities" EnableFlattening="True" 
    EntitySetName="AppUsers"
    Include="AppRoles"
    Select="it.AppUsers, it.AppRoles"
    Where="it.AppUsers.RoleID = it.AppRoles.RoleID"
    >
</asp:EntityDataSource>

Но этопоказать ошибку.

Ответы [ 2 ]

1 голос
/ 05 июня 2013

при условии, что вы хотите получить список всех пользователей в каждой роли

и при условии, что у вас есть структура из 3 таблиц, то есть пользователи, UserInRoles, UserRole

Тогда

<asp:EntityDataSource ID="edsUsers" runat="server" 
   ConnectionString="name=ReferralDBEntities" 
   DefaultContainerName="ReferralDBEntities" EnableFlattening="True" 
   EntitySetName="UserInRoles"
   Include="UserRole, User"
   Select="it.User.FullName, it.UserRole.Name">
</asp:EntityDataSource>

Работа выполнена

0 голосов
/ 15 июля 2011

На старое сообщение не ответили.

Попробуйте удалить Select = "it.AppUsers, it.AppRoles"

В противном случае я не уверен, как в EDMX устанавливается связь между вашими двумя таблицами. Вы можете также проверить их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...