none
Primeros pasos con SQL Compact RRS feed

  • Pregunta

  • Buenas, estoy intentando dar mis primeros pasos en el desarrollo de aplicaciones Window Form, ante la necesidad de realizar un proyecto para un amigo.

    Acostumbrado a trabajar con PHP y ORM para acceso a datos, me puse a buscar información sobre estos últimos para utilizar en mi proyecto y me topé con EF.

    Seguí investigando sobre las bases de datos que podría utilizar, y aunque en un primer momento, estaba decidido a utilizar SQLite termine optando por SQL Compact Edition (por una cuestión de usar algo que sea lo más compatible con los productos de Microsoft y así reñir menos con configuraciones y demás).

    Por el momento, he podido instalar EF 6 en mi proyecto (vía Nuget) y EF 6 SQL Compact Edition (también por la misma vía).

    Cree algunas POCO clases que representan las tablas de mi modelo físico, con su respectiva información de mapeo. También cree el DbContext.

    Pero no estoy logrando encontrar información para poder configurar mi app.config con EF6 y SQL CE, y cómo sobre generar mi BBDD a partir de mis POCO clases (code first) utilizando la configuración que expongo.

    Agradecería cualquier tipo de ayuda o sugerencia, cabe aclarar que utilizo Visual Studio 2010.

    Desde ya, muchas gracias.


    domingo, 14 de septiembre de 2014 17:34

Todas las respuestas

  • Actualmente, tengo configurado el siguiente app.config. Pero cuando quiero ejecutar mi aplicación de consola una excepción es atrapada:

    Excepcion:

    No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure the provider is registered in the 'entityFramework' section of the application config file.


    Console application

            static void Main(String[] args)
            {
                CommerceContext db = new CommerceContext();
                Console.WriteLine("Existen {0} zonas en la BBDD.", db.Zones.Count());
            }

    app.config

    <configuration> <configSections> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework"> <parameters> <parameter value="System.Data.SqlServerCe.4.0" /> </parameters> </defaultConnectionFactory> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> <provider invariantName="System.Data.SqlServerCe.4.0" type="System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact" /> </providers> </entityFramework> <system.data> <DbProviderFactories> <remove invariant="System.Data.SqlServerCe.4.0" /> <add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" /> </DbProviderFactories> </system.data> <connectionStrings> <add name="CommerceContext" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=|DataDirectory|Commerce.sdf"/> </connectionStrings> </configuration>

    domingo, 14 de septiembre de 2014 18:12
  • hola

    la configuracion de EF en que .config la defines ? lo pregunto porque imagino que la clase de Dbcontext la defines en una proyecto class library, pero esta desde donde la utilizas ?

    si es desde una aplicacion de consola o windows aplication recuerda que debes definir en el config de estos proyectos la configuracion de EF necesita

    las class library tomaran de alli la configuracion y no de los app.config que defienas en sus proyectos

    en resumen copiar la config de EF al app.config de la aplicacion de consola

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    domingo, 14 de septiembre de 2014 21:37