0

我有一个名为 Activity 的内容类型,它继承表单 Event,我有一个名为 Activities 的列表实例,它的内容类型是 Activity 当 SPMetal 生成实体时,我看到以下类

公共部分类活动:事件和公共部分类活动活动:活动

当我编写以下代码来保存新实体时

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

它抛出

与映射关联的列已被删除/重命名

4

2 回答 2

1

另一个解决方案 - 我试图从 InfoPath 表单中设置一个可为空的 bool 值。我的经验是更新 xml 值并将表单内容保存回库是可以的,但在这种情况下更新提升的列是不行的。

于 2013-02-22T11:53:10.547 回答
0

我知道这是一个旧线程,但我只是遇到了这个问题,这就是我解决它的方法。

我有一个分配了内容类型的列表。我添加了一些项目,然后生成了 SPMetal。嗯,内容类型发生了变化,我在列表中更新了它并重新运行了 SPMetal。完成所有测试后,我们部署到生产环境,这就是错误发生的时候。我们在 LinqPAD 中运行了相同的查询,一切正常。只是不是来自我们的工作流程。

事实证明,因为我更新了列表中的内容类型(生成 SPMetal 的那个),所以它创建了一些奇怪的虚拟成员来表示更改。另一个列表(生产列表)从来没有原始的内容类型,所以它不识别虚拟成员,它爆炸了。

我修复它的方法是删除表,重新创建它(同名),然后重新为其分配内容类型,然后运行 ​​SPMetal。

于 2012-11-30T15:12:24.717 回答