2012-09-17 1 views
5

È solo per me o non sembra funzionare?EF5 Mappatura Enum a tipo esterno numero

In primo modello ho trascinato in una tabella semplice e creato un enum (via convert a enum). Ora ho provato con e senza creare gli elementi enum nella finestra di dialogo, ma se spunta il tipo di riferimento esterno ottengo:

Lo schema specificato non è valido. Errori: non è stato possibile trovare il tipo di livello oggetto corrispondente al tipo concettuale 'ControlPanelDevModel.EventType'.

risposta

8

Date un'occhiata al mio blogpost - mostra come creare e utilizzare tipi enum esterni: http://blog.3d-logic.com/2012/09/11/using-exisiting-enum-types-in-entity-framework-5/ Se si utilizza EF5 RTM (e non EF giugno CTP 2011) fornito con .NET Framework 4.5 non lo fai è necessario specificare i membri del tipo Enum EDM. L'importante è assicurarsi che il nome del tipo Enum EDM corrisponda al nome del tipo enum CLR esterno e che i tipi sottostanti siano gli stessi (se non viene specificato un tipo sottostante, verrà utilizzato Edm.Int32 - analogamente a C#/VB. NET - dove int è usato). Se si decide di separare i membri sul tipo di enum EDM, non si deve avere un membro il cui nome e/o valore sia diverso dai membri del tipo enum C#/VB. Inoltre, non è necessario specificare tutti i membri del tipo enum CLR nel tipo enum EDM (infatti, come ho sottolineato sopra, non è possibile avere membri come hai fatto e tutto dovrebbe funzionare).

+0

Grazie per quello! Dovrò tenerlo a mente per il mio prossimo sviluppo ... Purtroppo dovrò tornare a ef 4.4 poiché il mio cliente non ha intenzione di aggiornare i server a 2008r2. –

+0

E il motivo del downvote era ...? – Pawel