comunque ho provato a fare anche il log della query trasformata in SQL server ed è perfetta nel senso che eseguita su Management Studio restituisce esattamente una riga contenente eventoid e tutte le colonne di ICollection<Barca> barche della classe DTO solo che questa collection non viene misteriosamente digerita dalla gridview
che strazio
SELECT
[Project1].[Id] AS [Id],
[Project1].[C1] AS [C1],
[Project1].[BarcaID] AS [BarcaID],
[Project1].[Modello] AS [Modello],
[Project1].[Anno] AS [Anno],
[Project1].[Bandiera] AS [Bandiera],
[Project1].[Base] AS [Base],
[Project1].[Nome] AS [Nome],
[Project1].[Cabine] AS [Cabine],
[Project1].[Bagni] AS [Bagni],
[Project1].[Letti] AS [Letti],
[Project1].[Postiomol] AS [Postiomol],
[Project1].[Note] AS [Note],
[Project1].[Ccosto] AS [Ccosto],
[Project1].[Regione] AS [Regione],
[Project1].[SkipperId] AS [SkipperId],
[Project1].[SkipperIdpref] AS [SkipperIdpref]
FROM ( SELECT
[Extent1].[Id] AS [Id],
[Join1].[BarcaID] AS [BarcaID],
[Join1].[Modello] AS [Modello],
[Join1].[Anno] AS [Anno],
[Join1].[Bandiera] AS [Bandiera],
[Join1].[Base] AS [Base],
[Join1].[Nome] AS [Nome],
[Join1].[Cabine] AS [Cabine],
[Join1].[Bagni] AS [Bagni],
[Join1].[Letti] AS [Letti],
[Join1].[Postiomol] AS [Postiomol],
[Join1].[Note] AS [Note],
[Join1].[Ccosto] AS [Ccosto],
[Join1].[Regione] AS [Regione],
[Join1].[SkipperId] AS [SkipperId],
[Join1].[SkipperIdpref] AS [SkipperIdpref],
CASE WHEN ([Join1].[Evento_Id] IS NULL) THEN CAST(NULL AS int) ELSE 1 END AS [C1]
FROM [dbo].[Eventoes] AS [Extent1]
LEFT OUTER JOIN (SELECT [Extent2].[Evento_Id] AS [Evento_Id], [Extent3].[BarcaID] AS [BarcaID], [Extent3].[Modello] AS [Modello], [Extent3].[Anno] AS [Anno], [Extent3].[Bandiera] AS [Bandiera], [Extent3].[Base] AS [Base], [Extent3].[Nome] AS [Nome], [Extent3].[Cabine] AS [Cabine], [Extent3].[Bagni] AS [Bagni], [Extent3].[Letti] AS [Letti], [Extent3].[Postiomol] AS [Postiomol], [Extent3].[Note] AS [Note], [Extent3].[Ccosto] AS [Ccosto], [Extent3].[Regione] AS [Regione], [Extent3].[SkipperId] AS [SkipperId], [Extent3].[SkipperIdpref] AS [SkipperIdpref]
FROM [dbo].[EventoBarcas] AS [Extent2]
INNER JOIN [dbo].[Barcas] AS [Extent3] ON [Extent3].[BarcaID] = [Extent2].[Barca_BarcaID] ) AS [Join1] ON [Extent1].[Id] = [Join1].[Evento_Id]
WHERE [Extent1].[Id] = @p__linq__0
) AS [Project1]
ORDER BY [Project1].[Id] ASC, [Project1].[C1] ASC