Столбцы, связанные с сопоставлениями, были удалены / переименованы

У меня есть тип контента с именем Activity, который наследует форму Event, и у меня есть экземпляр списка с именем Activity, а его тип контента - Activity, когда SPMetal генерирует сущности. Я вижу следующие классы.

открытый частичный класс Activity: Событие и открытый частичный класс

когда я пишу следующий код, чтобы сохранить новую сущность

    public void Save(Activity activity)
    {
        var context = new MACEntitiesDataContext("http://localhost:8088");
        var activities = context.GetList<Activity>("Activity");
        activities.InsertOnSubmit(activity);
        context.SubmitChanges();
    }

это бросает

Столбцы, связанные с сопоставлениями, были удалены / переименованы

2 ответа

Другое решение - я пытался УСТАНОВИТЬ обнуляемое значение bool из формы InfoPath. Мой опыт показывает, что можно обновлять значения xml и сохранять содержимое формы обратно в библиотеку, но в таких случаях неуместно обновлять повышенные столбцы.

Я знаю, что это старая ветка, но у меня была эта проблема, и я решил ее.

У меня был список, которому был назначен тип контента. Я добавил несколько элементов, а затем сгенерировал SPMetal. Ну, тип контента изменился, и я обновил его в списке и перезапустил SPMetal. После того, как все тестирование было выполнено, мы развернули его в производство, и именно тогда произошла ошибка. Мы запустили один и тот же запрос в LinqPAD, и все работало нормально. Только не из нашего рабочего потока.

Оказалось, что из-за того, что я обновил тип контента в моем списке (тот, в котором был сгенерирован SPMetal), он сделал несколько странных виртуальных членов для представления изменений. Другой список (рабочий список) никогда не имел исходного типа контента, поэтому он не распознавал виртуальных участников и взорвался.

Я исправил это, удалив таблицу, воссоздав ее (то же имя) и переназначив ее тип контента, затем запустив SPMetal.

Другие вопросы по тегам