none
LinQ y Access RRS feed

  • Pregunta

  • BUenos Dias. Tengo una pregunta que quizas resulte muy tonta para algunos.

    Es posible y recomendable utilizar LINQ con C# para acceso a tablas de access??

    Saludos

    jueves, 16 de agosto de 2018 17:56

Respuestas

  • Hasta donde yo sé, no existe un LINQ-to-Access que te genere automáticamente las sentencias sobre OleDb de la misma manera que el LINQ-to-SQL te las genera contra el SqlClient.

    Podrías materalizar al completo una consulta sobre cada tabla de Access hacia una lista de entidades en memoria, si las tablas son lo bastante pequeñas para que se puedan cargar en memoria, y luego consultar esos datos en memoria mediante LINQ-to-Objects. O traer los datos de Access a un DataSet mediante un OleDbDataAdapter y luego consultarlo mediante LINQ-to-DataSets. Pero en ambos casos estarías cargando previamente en memoria los datos de Access, por lo que no es lo mismo que lo que logras con LINQ-to-SQL, que "traduce" la consulta LINQ a SQL. No hay un equivalente que la traduzca a Access.

    • Marcado como respuesta noe vargas viernes, 17 de agosto de 2018 15:06
    jueves, 16 de agosto de 2018 20:30

Todas las respuestas

  • Hasta donde yo sé, no existe un LINQ-to-Access que te genere automáticamente las sentencias sobre OleDb de la misma manera que el LINQ-to-SQL te las genera contra el SqlClient.

    Podrías materalizar al completo una consulta sobre cada tabla de Access hacia una lista de entidades en memoria, si las tablas son lo bastante pequeñas para que se puedan cargar en memoria, y luego consultar esos datos en memoria mediante LINQ-to-Objects. O traer los datos de Access a un DataSet mediante un OleDbDataAdapter y luego consultarlo mediante LINQ-to-DataSets. Pero en ambos casos estarías cargando previamente en memoria los datos de Access, por lo que no es lo mismo que lo que logras con LINQ-to-SQL, que "traduce" la consulta LINQ a SQL. No hay un equivalente que la traduzca a Access.

    • Marcado como respuesta noe vargas viernes, 17 de agosto de 2018 15:06
    jueves, 16 de agosto de 2018 20:30
  • OK, muchas gracias.
    viernes, 17 de agosto de 2018 15:06