2012-09-17 13 views
5

¿Soy yo o no parece funcionar?EF5 Asignación de Enum a un problema de tipo externo

En el modelo primero arrastré en una tabla simple y creé una enumeración (a través de convertir a enum). Ahora lo he intentado con y sin crear los elementos enumerados en el cuadro de diálogo, pero si selecciono el tipo externo de referencia, obtengo:

El esquema especificado no es válido. Errores: No se pudo encontrar el tipo de capa de objeto correspondiente para el tipo conceptual 'ControlPanelDevModel.EventType'.

Respuesta

8

Tome un vistazo a mi entrada de blog - que muestra cómo crear y utilizar tipos de enumeración externos: http://blog.3d-logic.com/2012/09/11/using-exisiting-enum-types-in-entity-framework-5/ Si está utilizando EF5 RTM (y no EF CTP de junio de 2011) se incluye con .NET Framework 4.5 no lo hace necesidad de especificar miembros del tipo EDM Enum. Lo importante es asegurarse de que el nombre del tipo Enum de EDM coincida con el nombre del tipo de enumeración de CLR externa y que los tipos subyacentes sean los mismos (si no se especifica ningún tipo subyacente, se usará Edm.Int32, de forma similar a C#/VB). NET - donde se usa int). Si decide separar miembros en el tipo Enum de EDM, no debe tener un miembro cuyo nombre y/o valor sean diferentes de los miembros del tipo enum C#/VB. Tampoco tiene que especificar todos los miembros del tipo de enumeración CLR en el tipo de enumeración EDM (de hecho, como indiqué anteriormente, es posible que no tenga ningún miembro como lo hizo y se supone que todo debe funcionar).

+0

¡Gracias por eso! Tendré que tener esto en cuenta para mi próximo desarrollo ... Desafortunadamente tendré que volver a la versión 4.4 ya que mi cliente no tiene intención de actualizar sus servidores a 2008r2. –

+0

¿Y el motivo del voto a favor fue ...? – Pawel

Cuestiones relacionadas