Магазин C# Флаги, украшенные перечислением в PostgreSQL с Npgsql - PullRequest
0 голосов
/ 05 марта 2020

Я хотел бы сохранить [Flags] декорированное C# перечисление в PostgreSQL, используя функцию отображения перечисления Npg sql . Это возможно? Как определить таблицу Postgres?

Например, если у меня есть перечисление C#, например:

[Flags]
enum WeekDay
{
    None = 0,
    Sun = 1 << 0,
    Mon = 1 << 1,
    Tue = 1 << 2,
    Wed = 1 << 3,
    Thu = 1 << 4,
    Fri = 1 << 5,
    Sat = 1 << 6
}

И я определяю и пытаюсь заполнить таблицу следующим образом:

CREATE TYPE week_day AS ENUM ('none', 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat');

CREATE TABLE class_schedule (
    id serial primary key,
    name text,
    meetings week_day
);

INSERT INTO class_schedule (name, meetings) VALUES ('seminar', 'mon');
INSERT INTO class_schedule (name, meetings) VALUES ('algebra', 'mon, wed, fri');

Вышеприведенное не работает в последней строке, говоря: «недопустимое входное значение для enum week_day:« mon, wed, fri ».

Я также попытался вставить mon|wed|fri.

...