none
Extender modelo de entity (DB first) RRS feed

  • Pregunta

  • Buena tarde.

    Estoy usando  entity framework 5 y quiero extender el modelo con una propiedad sin mapear (NombreCompleto), el problema surge cuando intento realizar consultas, ya que me aparece el siguiente error:

    El miembro de tipo especificado 'NombreCompleto' no se admite en LINQ to Entities. Sólo se admiten inicializadores, miembros de entidades y propiedades de navegación de entidades.
    Entiendo el porque del error, la pregunta es ¿que tengo que hacer para crear una nueva propiedad sin tener que mapearla contra la base de datos?

    martes, 9 de abril de 2013 22:00

Todas las respuestas

  • hola

    podrias crear una clase partial que extienda a la que define el edmx

    o sea si tienes una entidad que se llama Cliente

    podrias usar

    public partial class Cliente{

       public string NombreCompleto {...

    }

    con esto creas una clase que extiende a la que genera el codigo del edmx

    ---

    aquizas debas ademas usar el atributo [NotMapped]

    Code First DataAnnotations

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 10 de abril de 2013 16:29
  • eso es lo que normalmente hago, probé agregar el atributo [NotMapped], pero aun así sigue sacando el error en las consultas linq, intente poner la propiedad en una clase que manejo para la metadata del objeto, pero no queda como parte de la entidad. 

    De todas formas gracias por la manito.

    • Editado xxNickle miércoles, 10 de abril de 2013 19:24 agregar
    miércoles, 10 de abril de 2013 19:23
  • mm no entendi como que el linq ? o sea el campo calculado no lo puedes usar como parte de uan expression de consulta

    porque es logico que al no mapear no sabra como convertirlo en un sql para ejecutarlo

    puede usarlo despues como resultado de la query pero no en la definicion


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 11 de abril de 2013 0:26
  • el problema radica en que no lo uso para definir una consulta, y ahí también me da error.
    jueves, 11 de abril de 2013 19:03