Stavo facendo un pò di prove per smanettare con la gestione del Table per Hierarchy in Entity Framework. Innanzitutto dopo un impatto iniziale alquanto dramamtico, devo dire che il designer visuale mi ha aiutato non poco a disegnare la struttura partendo dalla classe autogenerata dal database. Visto che il designer è forse la cosa uscita peggio da Entity Framework, tutto sommato direi che questa è una buona cosa.
Dopo aver mappato tutto come si deve, ho eseguito una semplice query per trovare tutti gli oggetti: ctx.Company().ToList();
Quello che mi ha sorpreso è vedere che il generatore di codice di Entity Framework ha generato questo SQL:
SELECT
[Extent1].[Type] AS [Type],
[Extent1].[CompanyId] AS [CompanyId],
[Extent1].[Name] AS [Name],
[Extent1].[BillingAddress] AS [BillingAddress],
[Extent1].[BillingCity] AS [BillingCity],
[Extent1].[BillingZipCode] AS [BillingZipCode],
[Extent1].[BillingCountry] AS [BillingCountry],
[Extent1].[ShippingAddress] AS [ShippingAddress],
[Extent1].[ShippingCity] AS [ShippingCity],
[Extent1].[ShippingZipCode] AS [ShippingZipCode],
[Extent1].[ShippingCountry] AS [ShippingCountry],
[Extent1].[WSUserName] AS [WSUserName],
[Extent1].[WSPassword] AS [WSPassword],
[Extent1].[WSEnabled] AS [WSEnabled]
FROM [dbo].[Company] AS [Extent1]
WHERE ([Extent1].[Type] = 'C') OR ([Extent1].[Type] = 'S')
Ora, type è la colonna che mi fa da discriminatore tra i vari tipi che la tabella contiene, ma visto che tanto sto chiedendo tutti i tipi, è necessaria quella OR? Non capisco se sta li per sicurezza così che se ci sono altri record con un type diverso questi vengono ignorati, oppure sta li per errore.
Stay tuned...
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Cosa penso delle prossime novità del designer Entity Framework, il 18 ottobre 2010 alle 10:01
- Entity Framework e l'estendibilità del designer, il 3 febbraio 2010 alle 08:37
- Entity Framework 4.0 finalmente ha un buon designer, il 30 ottobre 2009 alle 19:57
- .NET Framework 4.0 Beta 2: Entity framework 4.0, il 20 ottobre 2009 alle 11:18
- Entity Framework 4.0 e le applicazioni preesistenti, l'8 ottobre 2009 alle 00:24
- Entity Framework 4.0 e la customizzazione del codice, il 25 luglio 2009 alle 16:07