Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
jsonb_to_recordset.Npgsql же провайдер с нуля. Они делали все на инфраструктуре ef core, а мне надо было вклиниться именно в их инфраструктуру.
А можно живых примеров тюнинга? Просто я пока не могу оценить вашу зверушку, но про jsonb_to_recordset сразу могу сказать, это не то что нужно. У нас ведь динамический набор полей. Все, что я бы выиграл, это исключил необходимость танцев вокруг оператора ->>
public static class Jsonb
{
[Sql.Expression("{0}->>{1}", ServerSideOnly = true, InlinePrameters = true)]
public static T Value<T>(object field, string propName)
{
throw new NotImplementedException();
}
}
ctx.SomeItems
.Where(e => Jsonb.Value<string>(e.Field, "SomeValue") == "Old Value")
.Set(e => e.Field, e => Jsonb.Set(e.Field, "SomeValue", "New Value"))
.Update();
public static class Jsonb
{
[Sql.Expression("jsonb_set({0}, {1}, {2})", ServerSideOnly = true, InlinePrameters = true)]
public static T Set<T>(T field, string path, string newValue)
{
throw new NotImplementedException();
}
}
Доступ к свойствам внутри поля Jsonb для Npgsql