Ошибка SQL CE 4: типы данных ntext и image нельзя использовать в предложениях WHERE, HAVING, GROUP BY, ON или IN

Я пытаюсь перенести старую базу данных SQL Server (созданную в Entity Framework 4) в SQL CE 4. Я переместил все, воссоздал схему и вставил данные в SDF файл, но теперь, когда я пытаюсь запустить свой сайт, я получаю эту ошибку:

The ntext and image data types cannot be used in WHERE, HAVING, GROUP BY, ON, or IN clauses, except when these data types are used with the LIKE or IS NULL predicates.

Я посетил несколько ссылок, и все они ссылаются на исправление Microsoft, которое предназначено для SQL CE 3.5. Я использую SQL CE 4 и не могу найти ничего подходящего.

ОБНОВЛЕНИЕ: я нашел несколько возможных решений для подхода Code-first, но моя база данных - сначала модель.

1 ответ

Я только столкнулся с этой проблемой с Entity Framework и SQL CE. Он не может генерировать динамический оператор SQL, который фильтрует результаты по столбцу изображения.

Для меня этот код не удался (токен типа byte[]):

var dataStore = new DataStore();
var document = dataStore.Documents.SingleOrDefault(d => d.Token == token);

Простой способ заставить его работать - сначала загрузить документы в список в памяти, а затем фильтровать их. Это хорошо для меня, потому что список никогда не будет очень большим.

var dataStore = new DataStore();
var documents = dataStore.Documents.ToList();
var document = documents.SingleOrDefault(d => d.Token.SequenceEqual(token));
Другие вопросы по тегам