Я играю с CoreData в приложении Mac OS X. После изменения объекта я получил следующую ошибку:
Версия модели управляемого объекта, используемая для открытия постоянного хранилища, несовместима с той, которая использовалась для создания постоянного хранилища.
Все ответы, которые я нашел для этой проблемы. предлагаю реализовать управление версиями / миграцию в приложении, но я не заинтересован в сохранении моих данных. Нет ли для этого менее сложного решения? Например, удаление стокового файла или что-то в этом роде? И если да, то где находится этот файл?
Спасибо. var ...
Чтобы выбрать все активные Scheduling
, у меня есть следующий код:
var allSchedulesOnALine = CurrentUser.Lines.SelectMany(o => o.Scheduling).Where(o => o.Active);
var allSchedulesUnscheduled = Entities.SchedulingSet
.Where(o => o.Line == null && o.Site.Id == CurrentUser.Site.Id &&
o.Factory == CurrentUser.Factory && o.Active);
IEnumerable<Scheduling> allSchedules = allSchedulesUnscheduled.Union(allSchedulesOnALine);
foreach(Scheduling schedule in allSchedules.OrderBy(o => o.Ordering))
{
//Do Stuff
}
( Factory
- это int
)
Когда я запускаю этот код, я получаю эту загадочную ошибку в строке foreach
:
Невозможно создать постоянное значение типа 'System.Collections.Generic.IEnumerable`1'. В этом контексте поддерживаются только примитивные типы (такие как Int32, String и Guid).
Как ни странно, я могу перечислить как allSchedulesOnALine
, так и allSchedulesUnscheduled
отдельно. Еще более странно, если я изменю порядок объединения:
IEnumerable<Scheduling> allSchedules = allSchedulesOnALine.Union(allSchedulesUnscheduled);
Он отлично работает!
Кто-нибудь знает, почему это могло произойти? Я упустил что-то важное или это ошибка?
Я должен упомянуть, что использую Entity Framework 3.5. EF4 в настоящее время для нас не вариант - это вне моего контроля: \