bonjour,
je suis entrain de m'arracher les cheveux, si quelqu'un pouvait me venir en aide afin d'éviter une calvitie précoce !

voila le problème
j'ai une procédure stocké :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
CREATE PROCEDURE [dbo].[psProjectUser] 
	@userId uniqueidentifier
AS
BEGIN
	SET NOCOUNT ON;
 
	SELECT p.idProject, p.name, p.createur, p.dteCreation from TProjects p where exists (select * from TProjectsUser u where u.userId=@userId and u.idProject=p.idProject)
END
un petit service :
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public IQueryable<TProjects> GetTProjectsForUser(Guid userId)
        {
            return this.ObjectContext.call_psProjectOffUser(userId).OrderBy(e=>e.name).AsQueryable();
        }

et mon code coté client :
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<riaControls:DomainDataSource AutoLoad="True" Height="0" LoadedData="tProjectsDomainDataSource_LoadedData" x:Name="tProjectsDomainDataSource" QueryName="GetTProjectsForUserQuery" Width="0">
                    <riaControls:DomainDataSource.SortDescriptors>
                        <riaControls:SortDescriptor PropertyPath="name" />
                    </riaControls:DomainDataSource.SortDescriptors> 
                     <riaControls:DomainDataSource.DomainContext>
                        <my1:DSbubleConcept />
                    </riaControls:DomainDataSource.DomainContext>
                        <riaControls:DomainDataSource.QueryParameters>
                <riaControls:Parameter ParameterName="userId" x:Name="pUserid" Value="{Binding Path=UserId, Source={StaticResource loggedUser}}" />
                    </riaControls:DomainDataSource.QueryParameters>                                       
                </riaControls:DomainDataSource>
<sdk:DataGrid AutoGenerateColumns="False" Grid.Row="1" Height="200"  Width="Auto"  HorizontalAlignment="Left" ItemsSource="{Binding Data, ElementName=tProjectsDomainDataSource}" Margin="0,5,0,5" Name="tProjectsDataGrid" Foreground="White" RowDetailsVisibilityMode="VisibleWhenSelected" VerticalAlignment="Top" IsReadOnly="True" GridLinesVisibility="Horizontal" ColumnHeaderStyle="{StaticResource bubleConceptDataGridColumnHeaderStyle}" Style="{StaticResource bubleConceptDataGridStyle}" RowStyle="{StaticResource bubleConceptDataGridRowStyle}" CellStyle="{StaticResource bubleConceptDataGridCellStyle}" Padding="0">
...
</sdk:DataGrid>
                <sdk:DataPager Grid.Row="2"  Height="Auto" HorizontalAlignment="Stretch" Source="{Binding Data, ElementName=tProjectsDomainDataSource}" Margin="0,5,0,5" Name="dataPager1" PageSize="10" VerticalAlignment="Top" DisplayMode="PreviousNextNumeric" />

si j'enlève le datapager tout fonctionne correctement si je le laisse j'ai l'erreur suivante :
System.serviceModel.DomainServices.Client.DomainOperationException: Echec de l'opération Load pour la requête "GetTProjectsForUser". Le résultat d'une requête ne peut pas être énuméré plusieurs fois.


je n'arrive vraiment pas à comprendre le pourquoi du comment SVP une bouée !

une petite remarque : si je modifie l'AutoLoad="True" en "False" et que je place un tProjectsDomainDataSource.Load() dans le constructeur
cela fonctionne à ceci près que ma datagrid est positionnée sur une page vide et qu'il faut que je clique sur l'index du datapager pour afficher les donnés ????