Esempio n. 1
0
        public static void Main(string[] args)
        {
            var schema = Convention.CreateSchema <Foo>(s => s.PluralizeTableNames = true, s =>
            {
                s.Columns.Mapping.Add(
                    "AttributeCount",
                    Mapper
                    .Map("AttributeCount")
                    .ToColumnName("attribute_count")
                    .OnSelect(_ => $@"(SELECT count(*) FROM jsonb_object_keys({ s.Columns.Mapping[nameof(Foo.Attributes)].ColumnName })) as attribute_count")
                    .CreateMapping());

                s.Columns.Mapping[nameof(Foo.SequenceNumber)]
                .OnInsert = e => $@"nextval(seq_{((Dictionary<string, object>)e)[nameof(Foo.TemplateKey)]})";

                s.DefaultOrderBy = (propertyName: "AttributeCount", direction: OrderDirection.Descending);
            });