У меня есть база данных Postgres 12 с одной таблицей:
CREATE TABLE public.messages
(
sender text COLLATE pg_catalog."default",
"timestamp" timestamp with time zone,
message_id bigint,
text text COLLATE pg_catalog."default",
priority bigint,
parameters text[] COLLATE pg_catalog."default"
)
Теперь, когда я хочу использовать эту таблицу в приложении met. NET Winforms (not. NET Core) щелкнув правой кнопкой мыши по проекту, добавив новый элемент, ADO. NET Модель данных Entitity, EF Code First из базы данных, настроив мое соединение (успешное тестирование соединения), выбрав мою таблицу, я получаю эту ошибку:
Код серьезности Описание Состояние подавления строки файла проекта Предупреждение 6005: тип данных _text в настоящее время не поддерживается для целевой версии Entity Framework; столбец «параметры» в таблице «test.publi c .messages» был исключен. LogTest D: \ Projekte \ LogTest \ Model1.cs 1
Поле parameters
не соответствует классу сообщений:
[Table("public.messages")]
public partial class message
{
public long id { get; set; }
public string sender { get; set; }
public DateTimeOffset? timestamp { get; set; }
public long? base_message_id { get; set; }
public string text { get; set; }
public long? priority { get; set; }
}
Кроме parameters
, модель работает, и я могу получить данные из БД. Когда я пытаюсь добавить свойство вручную, оно все равно запускается, но параметры всегда равны нулю:
public string[] parameters { get; set; } // also tried List<string>
Как я могу заставить его работать? Из того, что я понимаю при чтении документов, я думаю, что это должно быть возможно?
Мое приложение нацелено. NET Framework 4.6, я использую EntityFramework6.Npg sql версия 6.4.1.0 с Npg sql версия 4.0.10.0.