none
The context type 'XXXEntities' is not supported RRS feed

  • Pregunta

  • Estimados queria consultarles una cosa que me esta haciendo renegar de sobremanera, instale el VS 2012 y quise hacer un sitio web entity framework y estoy con un error que la verdad me deja pensando, me dice que el contexto no es soportado

    Lo probe con framework 3.5,4.0, y 4.5 me parece super raro

    la cadena de conexion en el web config es

    <connectionStrings>
        <add name="XXXEntities" connectionString="metadata=res://*/App_Code.Model.csdl|res://*/App_Code.Model.ssdl|res://*/App_Code.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=XXX\SQLServer2012;initial catalog=MiBaseDeDatos;user id=sa;password=123456;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient"/>
      </connectionStrings>
      

    la modificación en el global asax es: (Acotación - en esta linea es donde surge el error) 

    DefaultModel.RegisterContext(GetType(VSCDBDeTrafEntities), New ContextConfiguration() With {.ScaffoldAllTables = False})

    Ademas modifique el modelo agregandole a las clases partial el parametro <ScaffoldTable(True)> _ ya que de otra forma no veria las tablas, ya que no son todas las tablas de mi DB sino unas 5 tablas, al no ser la totalidad de las tablas tengo que definir ScaffoldTable en true para cada una y ScaffoldAllTable en false en el global asax

    El error explicitamente que me arroja es 

    Server Error in '/' Application.

    The context type 'XXXEntities' is not supported.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

    Exception Details: System.ArgumentException: The context type 'XXXEntities' is not supported.

    Source Error: 
    Line 25:         'DefaultModel.RegisterContext(GetType(VSCDBDeTrafEntities), New ContextConfiguration() With {.ScaffoldAllTables = False})
    Line 26:         
    Line 27:         DefaultModel.RegisterContext(GetType( _
    Line 28:     XXXEntities), _
    Line 29:     New ContextConfiguration() With {.ScaffoldAllTables = False})

    Source File: D:\DeTraf\PruebaCode10\global.asax    Line: 27 

    Stack Trace: 
    [ArgumentException: The context type 'XXXEntities' is not supported.]
       System.Web.DynamicData.MetaModel.RegisterContext(Func`1 contextFactory, ContextConfiguration configuration) +474
       System.Web.DynamicData.MetaModel.RegisterContext(Type contextType, ContextConfiguration configuration) +207
       ASP.global_asax.RegisterRoutes(RouteCollection routes) in D:\YYY\PruebaCode10\global.asax:27
       ASP.global_asax.Application_Start(Object sender, EventArgs e) in D:\YYY\PruebaCode10\global.asax:64

    Si alguien me puede dar una mano se los agradeceria porque la verdad creo que esta todo en orden, es mas esto ya lo había hecho en VS 2010 y funcionaba de diez 

    Gracias a todos


    Systems Engineer
    Developer & Research Engineer
    DBA SQL Server 2005/2008
    VG Cloud Inc
    My Profile

    domingo, 11 de agosto de 2013 23:24

Respuestas

  • Gracias a todos por sus comentarios, llegue a la solución que la comparto por si alguien tiene el mismo caso sobre visual studio 2012, el caso es ...

    Una vez que ya tenemos registrado el contexto en el global.asax, y ponemos a correr nuestro sitio web, y nos arroja el error descrito arriba, tenemos que proceder de la siguiente forma  

    1- De la carpeta App_Code eliminas todos los archivos con extencion .tt (que por lo general son dos)

    2- Vas al .edmx y en las propiedades generales del edmx cambias "Code Generation Strategy" de None a Default

    3- Guardas los cambios 

    4- Seleccionas todo el diagrama y lo eliminas

    5- Luego regeneras el diagrama haciendo click derecho - Update Model from Database (siguiendo el wizard como el primer modelo generado)

    6- guardas los cambios y fácilmente veremos que el contexto anteriormente registrado arroja un error porque no es reconocido (error en el global.asax Declare la clase ...)

    7- vamos hasta la linea del error y cuando aparece la cruz roja (del error) desplegamos las opciones y seleccionamos la que dice "Import nombre de nuestro modelo" a los efectos que se importe en el global.asax 

    8- Ejecutamos nuestro sitio y asunto resuelto

    Gracias nuevamente a todos


    Systems Engineer
    Developer & Research Engineer
    DBA SQL Server 2005/2008
    VG Cloud Inc
    My Profile

    jueves, 15 de agosto de 2013 23:06

Todas las respuestas

  • hola

    System.ArgumentException: The context type 'XXXEntities' is not supported.

    veo que aqui

    DefaultModel.RegisterContext(GetType(XXXEntities)

    quieres registrar un contexto, pero que tipo de aplciacion estas creando? porque puedo ver un DynamicData

    validaste si es correcto definir el contecto de EF en ese metodo, porque el error deja bastante claro que no es soportado

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    domingo, 11 de agosto de 2013 23:58
  • Estoy creando un proyecto web de tipo ASP.Net Dynamic Data Entities Web Site, en vb.net, con framework 4.5. Lo que hice fue agregarle un item ADO.Net Entity Data Model (.edmx) que esta basado en una conexion a un SQL Server 2012, del mismo mapeo como entidades del modelo edmx solo 4 tablas de mi base de datos de prueba.

    Systems Engineer
    Developer & Research Engineer
    DBA SQL Server 2005/2008
    VG Cloud Inc
    My Profile

    lunes, 12 de agosto de 2013 3:13
  • he encontrado este post pero probe la solucion que indica y no llegue a buen puerto, me sigue indicando el mismo error 

    http://forums.asp.net/t/1842714.aspx/1


    Systems Engineer
    Developer & Research Engineer
    DBA SQL Server 2005/2008
    VG Cloud Inc
    My Profile

    martes, 13 de agosto de 2013 0:46
  • hola

    How to build a Dynamic Data website in 60 seconds

    Walkthrough: Adding Dynamic Data to Existing ASP.NET Web Sites

    en los articulos que puedo ver es asi como lo defines, que raro que no funcione

    ese error se produce cuando compilas o cuando ejecutas ?

    has probado crear un proyecto nuevo y definir Dynamic Data con un edmx nuevo que sea bien simple, una tabla unos campos nada complejo, solo para descartar que no sea un problema concreto de ese codigo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 13 de agosto de 2013 0:59
  • Gracias a todos por sus comentarios, llegue a la solución que la comparto por si alguien tiene el mismo caso sobre visual studio 2012, el caso es ...

    Una vez que ya tenemos registrado el contexto en el global.asax, y ponemos a correr nuestro sitio web, y nos arroja el error descrito arriba, tenemos que proceder de la siguiente forma  

    1- De la carpeta App_Code eliminas todos los archivos con extencion .tt (que por lo general son dos)

    2- Vas al .edmx y en las propiedades generales del edmx cambias "Code Generation Strategy" de None a Default

    3- Guardas los cambios 

    4- Seleccionas todo el diagrama y lo eliminas

    5- Luego regeneras el diagrama haciendo click derecho - Update Model from Database (siguiendo el wizard como el primer modelo generado)

    6- guardas los cambios y fácilmente veremos que el contexto anteriormente registrado arroja un error porque no es reconocido (error en el global.asax Declare la clase ...)

    7- vamos hasta la linea del error y cuando aparece la cruz roja (del error) desplegamos las opciones y seleccionamos la que dice "Import nombre de nuestro modelo" a los efectos que se importe en el global.asax 

    8- Ejecutamos nuestro sitio y asunto resuelto

    Gracias nuevamente a todos


    Systems Engineer
    Developer & Research Engineer
    DBA SQL Server 2005/2008
    VG Cloud Inc
    My Profile

    jueves, 15 de agosto de 2013 23:06