none
MVC4 - Insertar registro con Entity Framework RRS feed

  • Pregunta

  • Buenas tardes,

    Al intentar insertar un registro con una App en MVC 4, me da el siguiente error:

    El manifiesto de proveedor dado no es de tipo 'System.Data.SqlClient.SqlProvicerManifest'.

    La línea en la que me da el error es la siguiente:

    db.SaveChanges();

    ¿Tenéis alguna idea de cuál puede ser el problema?

    Muchas gracias por la ayuda,





    martes, 20 de enero de 2015 17:46

Respuestas

Todas las respuestas

  • Ese error se produce porque asp.net no puede conectar con el servidor de base de datos. Comprueba los valores de conexión servidor, usuario, contraseña, que el servidor resulte accesible desde el servidor de IIS, etc.

    Por lo general esta excepción contiene una InnerException que te puede dar más detalles sobre la causa del error.

    martes, 20 de enero de 2015 19:12
  • hola

    que version de EF estas utilizando?

    lo mejor en estos casos es buscar el problema en ingles se ebcuantra mucha mas informacion

    The provider manifest given is not of type 'System.Data.SqlClient.SqlProviderManifest'

    de casualidad usas EF 6 y habilitas algo del trace

     Using Tracing and Caching Provider Wrappers with CodeFirst

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 21 de enero de 2015 1:30
  • ota duda, de casualidad usas un edmx ?

    puede que deminas dos modelos ?

    Especificación del manifiesto del proveedor


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 21 de enero de 2015 2:09
  • Hola,

    He intentado instalar la versión 6 del EF, pero no me dejaba, entonces he tenido que activar el paquete Nuget y a continuación me ha dejado instalar la versión EF 6 y el error 'The provider manifest given is not if type 'System.Data.SqlClient.SqlProviderManifest' ha sido resuelto.

    Pero ahora el error es otro:

    El esquema especificado no es válido. Errores: \r\nMainDBModel.ssdl(2,2) : error 0152: No se encontró ningún proveedor de Entity Framework para el proveedor de ADO.NET con el nombre invariable 'System.Data.SqlServerCe.4.0'. Asegúrese de que el proveedor está registrado en la sección 'entityFramework' del archivo de configuración de la aplicación. Vea go.microsoft.com/fwlink/?LinkId=260882 para obtener más información.

    En la línea:

    var sysUser = db.SystemUsers.Create();

    Si uso un modelo edmx y esta es la cadena de conexión:

    <add name="MainDbContext" connectionString="metadata=res://*/MainDBModel.csdl|res://*/MainDBModel.ssdl|res://*/MainDBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|\MainDb.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

    Muchas gracias por adelantado,

    miércoles, 21 de enero de 2015 11:44
  • hola

    perfecto entonces la actualizacion arreglo el problema del SqlProviderManifest

    el otro problema es raro ya que observo que la db que usas es Sql Server, porque te pide el de Sql Compract 4

    de casualidad originalmente lo tenias definido con un sdf ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 21 de enero de 2015 12:58
  • hola,

    efectivamente, originalmente lo tenia definido con un sdf, ¿sabes por donde pueden ir los tiros?

    un saludo,

    miércoles, 21 de enero de 2015 13:31
  • ahh ok entonces el modelo quedo enlazado con el proveedor de esa base de datos

    podrias ver de abrir el edmx como xml y cambiarle el proveedor que define para que use sql server

    A breaking change in Entity Framework 6.1.2 when using EDMX and SQL Server 2008/2005

    la verdad no recuerdo si hay una propiedad para cambiarlo de forma visual por eso comento lo del xml

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Eladerezador viernes, 6 de febrero de 2015 14:18
    miércoles, 21 de enero de 2015 14:25
  • Buenas,

    He creado de nuevo el edmx y ya funciona perfectamente.

    Muchas gracias por los consejos me han servidor de mucho.

    Un saludo,

    • Marcado como respuesta Eladerezador viernes, 6 de febrero de 2015 14:18
    miércoles, 21 de enero de 2015 14:56