Tipus de dades JSON a PostgreSQL amb Entity Framework Core Net.

Aprèn a utilitzar JSON amb Entity Framework Core i PostgreSQL, aprofitant els avantatges dels tipus de dades JSON i jsonb per a consultes ràpides. Descobreix com dissenyar taules, mapejar columnes, configurar el DbContext i implementar serveis CRUD per a una arquitectura robusta. Contacta'ns per re

sábado, 16 de agosto de 2025 • 3 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

En aquest article descrivim com utilitzar JSON amb Entity Framework Core i PostgreSQL prenent com a referència el suport millorat des d'EF Core v7 per a tipus de dades JSON, i com PostgreSQL ofereix des de fa anys els tipus json i jsonb per emmagatzemar documents JSON en columnes de taules.

PostgreSQL diferencia json i jsonb en el mode d'emmagatzematge i en capacitats d'indexació: json es guarda tal qual com a text respectant l'ordre dels camps i els espais, mentre que jsonb s'emmagatzema en format binari i facilita la creació d'índexs sobre camps JSON per a consultes ràpides.

Per treballar amb aquests tipus en una aplicació .Net Web API es recomana dissenyar la taula a la base de dades amb columnes dedicades a json i jsonb que continguin objectes niats com adreces, i a partir d'aquí mapejar aquestes columnes a classes C# que representin els objectes JSON. No incloem aquí sentències SQL literals, però la idea és tenir columnes address de tipus json i addressb de tipus jsonb juntament amb els camps habituals com id, fullname, email i createdAt.

En el model de dades d'EF Core es poden crear classes com User i Address on User conté propietats address i addressb de tipus Address. D'aquesta manera EF Core podrà serialitzar i deserialitzar automàticament els objectes niats en llegir i escriure a les columnes JSON de PostgreSQL.

La configuració del context DbContext utilitza UseNpgsql per a la cadena de connexió a PostgreSQL. Per mapejar propietats complexes com Address a columnes JSON es pot definir l'assignació a OnModelCreating utilitzant OwnsOne i el mètode ToJson per indicar que la propietat s'ha d'emmagatzemar com a JSON. Amb aquesta configuració és possible consultar camps interns del JSON des de LINQ, per exemple filtrar usuaris pel codi postal dins d'addressb sense necessitat d'escriure SQL natiu.

Pel que fa a l'arquitectura d'accés a dades, una aproximació útil és implementar un servei genèric per a operacions CRUD que rebi el DbContext i ofereixi mètodes reutilitzables, i després construir serveis específics com UserService que heretin del servei genèric per exposar mètodes utilitzats pels controladors de l'API. La injecció de dependències a Program dot cs registra el DbContext i els serveis perquè estiguin disponibles en temps d'execució.

Alguns punts pràctics i bones pràctiques observades en implementar EF Core amb PostgreSQL i JSON: l'entitat i la taula han de tenir una clau primària; en determinats casos es poden utilitzar anotacions a les propietats per especificar el tipus de columna com jsonb; per a consultes intensives als camps JSON convé utilitzar jsonb i dissenyar índexs adequats; i sempre provar la serialització i l'esquema JSON per evitar inconsistències entre l'estructura esperada per l'aplicació i les dades emmagatzemades.

Q2BSTUDIO és una empresa de desenvolupament de programari a mida especialitzada a crear solucions completes que integren bases de dades avançades, API REST i capacitats d'intel·ligència artificial. Oferim serveis d'aplicacions a mida i programari a mida, integració d'intel·ligència artificial i IA per a empreses, desenvolupament d'agents IA, visualització amb power bi i serveis d'intel·ligència de negoci. També brindem ciberseguretat avançada i gestió d'infraestructures al núvol amb serveis cloud aws i azure per desplegar i protegir les seves aplicacions i dades.

Si necessita ajuda per dissenyar una arquitectura que aprofiti EF Core i PostgreSQL amb columnes JSON, per migrar dades, optimitzar consultes amb jsonb o implementar solucions basades en IA i dashboards amb power bi, a Q2BSTUDIO podem col·laborar des de l'anàlisi inicial fins al manteniment i la seguretat. Ens enfoquem en solucions escalables, rendiment i compliment de bones pràctiques de seguretat i govern de dades.

Recursos addicionals i exemple de projecte de referència disponibles a https://github.com/gaatif/pgsql-efcore-json per veure una implementació pràctica. Contacti amb Q2BSTUDIO per rebre assessorament personalitzat en aplicacions a mida, programari a mida, intel·ligència artificial, ciberseguretat, serveis cloud aws i azure, serveis d'intel·ligència de negoci, agents IA i power bi.

Esperem que aquesta guia l'ajudi a comprendre com mapejar i consultar dades JSON a PostgreSQL utilitzant EF Core i com el seu projecte pot beneficiar-se de solucions a mida integrades amb IA i serveis cloud professionals.

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.