Bonjour,
J'ai un modèle de données tel que celui ci :
Un "Client" (Heritant de "GlobalEntity") a un de ses éléments qui contient une autre entité "ContactInfo", qui elle même contient une "Adresse".
trois relation 1-1 donc, rien exceptionnel.
Voici mon EntityDataSource
Que j'affecte ainsi a mon data grid view :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <asp:EntityDataSource ID="EntityDataSource1" runat="server" ConnectionString="name=DataBaseContainer" DefaultContainerName="DataBaseContainer" EntitySetName="GlobalEntitySet" EntityTypeFilter="Client" Include="ContactInfo.Address"> </asp:EntityDataSource>
Comme vous le voyez, je veut donc afficher par exemple ici, l'attribut LandLine de mes contact info, qui est un String. Eh bien cela me lance une exception.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <asp:GridView ID="GridView1" runat="server" DataSourceID="EntityDataSource1"> <Columns> <asp:BoundField DataField="ContactInfo.LandLine" HeaderText="ContactInfo.LandLine" SortExpression="ContactInfo.LandLine" /> </Columns> </asp:GridView>
J'ai l'impression que malgré mon Include, ma datasource ne contient que les ID des différents èlèment demandés, et pas les valeurs des attributs.
Alors que avec :
La ça fonctionne, mais je ne peut pas m'en servir de data source, ça me renvoi une List<Client>.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 using ( DataBaseContainer dc = new DataBaseContainer() ) { return dc.GlobalEntitySet.OfType<Client>().Include("ContactInfo.Address").OrderBy("it.ContactInfo.Address.City").ToList<Client>(); }
Des idées ? je commence a perdre des cheveux
Partager