PostgreJsonExtensions.NetCore
This project implements a "rustic" library for parsing json/json in postgreSQL and not in runtime for ef core
How to implement it in your project
Donwload the nuget from https://www.nuget.org/packages/PostgreJsonExtensions/ and then in your code use it as follow example
_context.Test.JsonWhere<Test, Jason>("json", x => x.Num > 100 && x.Num < 500 && x.Fecha.Date >= DateTime.MinValue && x.Logico)
.JsonWhere<Test, Jason>("json2", x => x.Num > 100 && x.Num < 500 && x.Fecha.Date >= DateTime.MinValue && x.Logico)
.Where(x => x.Id != Guid.Empty);
The signature of the method goes like this
IQueryable<TEntity> JsonWhere<TEntity, TJsonObj>(this IQueryable<TEntity> source, string jsonColumnName, Expression<Func<TJsonObj, bool>> predicate)
Where
- TEntity is the entity of your postgresql
- TJsonObj is the object you serialize and save in the table
- jsonColumnName is the column name that contains the Json/JsonB
Please have in mind that this library do not cover all the functions that postgreSQL has in his engine, if you want to add another funtions or improve the library don't hesitate and make a pull request or raise a issue with an example