powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Связать поле SQL Server Compact c моделью EF
9 сообщений из 9, страница 1 из 1
Связать поле SQL Server Compact c моделью EF
    #38238088
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Модель EF имеет свойство
Код: c#
1.
public byte[]  ImageData { get; set; }

Оно связано с полем ImageData типа varbinary(MAX) на Server SQL.

Захотелось подключиться к аналогичной базе на Server SQL Compact 4.0.
Там нет типа varbinary(MAX), поэтому соответствующее поле делаю типа image.

Однако, сохранение
Код: c#
1.
contextDB.SaveChanges()

перестаёт работать. Ошибка: Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.

Есть ли у кого опыт связывания поля Server SQL Compact типа image с соответствующим свойством модели EF?
...
Рейтинг: 0 / 0
Связать поле SQL Server Compact c моделью EF
    #38238237
cooldeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_VPЕсть ли у кого опыт связывания поля Server SQL Compact типа image с соответствующим свойством модели EF?
Да, всё работает без проблем. Смотри, что там в EntityValidationErrors, скорее всего какое-нить обязательное поле забыл указать.
...
Рейтинг: 0 / 0
Связать поле SQL Server Compact c моделью EF
    #38238474
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cooldeveloper, EntityValidationErrors возвращает такую ошибку:
Property : "ImageData", Error: "The field ImageData must be a string or array type with a maximum length of '4000'."

Как это понимать, если ImageData имеет Data Type = image ?
...
Рейтинг: 0 / 0
Связать поле SQL Server Compact c моделью EF
    #38238506
cooldeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, странно. Попробуй с нуля создать тестовую *.sdf с первичным ключом и image - всё должно работать. Только что проверил, только не на Code First. Для фёста, вроде, надо еще атрибут MaxLength указывать. И вдовесок Column(TypeName = "image")] попробовать.
...
Рейтинг: 0 / 0
Связать поле SQL Server Compact c моделью EF
    #38238585
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cooldeveloper, создал новый файл БД, подключил к нему contextDB - та же ошибка: Property : "ImageData", Error: "The field ImageData must be a string or array type with a maximum length of '4000'."
...
Рейтинг: 0 / 0
Связать поле SQL Server Compact c моделью EF
    #38238588
cooldeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приаттачь тестовый проект с базой.
...
Рейтинг: 0 / 0
Связать поле SQL Server Compact c моделью EF
    #38238779
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cooldeveloper, выложил Test.rar сюда: http://webfile.ru/6494195
...
Рейтинг: 0 / 0
Связать поле SQL Server Compact c моделью EF
    #38239473
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cooldeveloper, спасибо за помощь!

Вопрос решён.

Надо было использовать атрибут [MaxLength] для поля с типом image:
Код: c#
1.
2.
        [MaxLength]
        public byte[] ImageData { get; set; }
...
Рейтинг: 0 / 0
Связать поле SQL Server Compact c моделью EF
    #38239486
cooldeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_VP, а я тебе о чем говорил? 14225275
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Связать поле SQL Server Compact c моделью EF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]