我有一个名为Activity的内容类型,它继承了表单Event 我有一个名为Activities的列表实例,其内容类型是Activity 当SPMetal生成实体时,我会看到以下类
public partial class Activity:Event 和 public partial class ActivitiesActivity:Activity
当我编写以下代码以保存新实体时
public void Save(Activity activity)
{
var context = new MACEntitiesDataContext("http://localhost:8088");
var activities = context.GetList<Activity>("Activity");
activities.InsertOnSubmit(activity);
context.SubmitChanges();
}
它抛出
与映射关联的列已被删除/重命名
答案 0 :(得分:1)
另一个解决方案 - 我试图从InfoPath表单中 SET 一个可以为空的bool值。我的经验是,可以更新xml值并将表单内容保存回库中,但在这种情况下更新提升的列是不行的。
答案 1 :(得分:0)
我知道这是一个老线程,但我遇到了这个问题,这就是我解决它的方法。
我有一个分配了内容类型的列表。我添加了一些项目,然后生成了SPMetal。好吧,内容类型已更改,我在列表中更新了它并重新运行了SPMetal。在完成所有测试之后,我们将部署到生产中,这就是错误发生的时间。我们在LinqPAD中运行了相同的查询,一切正常。不是来自我们的工作流程。
事实证明,因为我已经更新了我的列表中的内容类型(生成SPMetal的内容类型),所以它创建了一些奇怪的虚拟成员来表示更改。另一个列表(生产列表)从未拥有原始内容类型,因此它无法识别虚拟成员,并且它已经爆炸。
我修复它的方法是删除表格,重新创建它(同名),然后重新分配内容类型,然后运行SPMetal。