mercoledì 7 settembre 2011

Entity Framework Where select distinct

In questo periodo, con un collega ci stiamo divertendo con Entity Framework.
Abbiamo notato che con il controllo entitydatasource, non è possibile utilizzare la clausola "Distinct".
Un modo per ottenere dati univochi è la seguente tecnica.
Nelle proprietà del controllo EntityDataSource o lato html, impostare la proprietà groupBy e Select.




Nella select aggiungere il campo di tipo count per il codice id.




Qui di seguito si riporta un esempio

GroupBy="it.[ID], it.[Compo1], it.[Campo2]"
Select="it.[ID],it.[Campo1], it.[Campo2], Count(it.[ID]) as Totale" Where=""









Qui di seguito si riporta il codice completo della parte Aspx.

ConnectionString="name=EsempioEntities3"
DefaultContainerName="EsempioEntities3" EnableFlattening="False"
EntitySetName="Vista_EF"
EntityTypeFilter="Vista_EF"
AutoPage="False"
AutoSort="False"
GroupBy="it.[ID], it.[Compo1], it.[Campo2]"
Select="it.[ID],it.[Campo1], it.[Campo2], Count(it.[ID]) as Totale" Where=""
>

Nessun commento: