2010-10-28 21 views
6

Possiedo un progetto Web VS2008 con una datamodel EF1. Ora ho convertito questo in un progetto VS2010 con .Net 4. La mia domanda riguarda Entity Framework. Come posso vedere quale versione di EF è. O come posso assicurarmi che sia EF 4?Vedere la versione di Entity Framework

risposta

3

Ci sono due domande qui:

  1. Qual è la versione di montaggio EF? In un progetto .NET 4 (corretto), può essere in realtà solo 4.
  2. Qual è la versione del modello EF? Sorprendentemente, i gruppi EF 4 supportano entrambi i modelli EF 1 e EF 4 in fase di runtime.

Quando si aggiorna un progetto VS 2008 su .NET 4, si aggiorna l'EDMX a un modello EF 4. Ma se hai saltato questo o vuoi solo confermare è giusto, guarda gli elementi xmlns nell'EDMX.

  • Per CSDL, EF 4 è "http://schemas.microsoft.com/ado/2008/09/edm"; EF 1 è "http://schemas.microsoft.com/ado/2006/04/edm".
  • Per SSDL, EF 4 è "http://schemas.microsoft.com/ado/2009/02/edm/ssdl"; EF 1 è "http://schemas.microsoft.com/ado/2006/04/edm/ssdl"
  • Per MSL, EF 4 è "http://schemas.microsoft.com/ado/2008/09/ mappatura/cs "; EF 1 è "urna: schemi: microsoft-com: windows: archiviazione: mappatura: CS"
+0

Grazie! In tal caso, posso confermare che il mio modello è EF4. – karl

9

È possibile cercare nei riferimenti del progetto la versione di System.Data.Entity.dll.

6

Guarda la tua versione di riferimento 'System.Data.Entity', se è 3.5.0.0, allora è EF1. Se è 4.0.0.0, allora stai usando EF4.

+0

Grazie per la risposta. Quindi, se apro un progetto VS2008 con VS2010 e questo viene convertito con successo (.Net 4 e System.Data.Entity è 4.0 ...) anche il mio modello di dati viene convertito? O devo ricostruire il mio nodel dal database? – karl

+0

Non ne sono sicuro, ma non credo che convertirà automaticamente. Ad ogni modo, perché non lo test? Fai un backup, vai avanti e ci dice il risultato. Penso che EF4 abbia compatibilità a ritroso con EF1. – goenning