0

フォーム Event を継承する Activity というコンテンツ タイプがあり、Activities というリスト インスタンスがあり、そのコンテンツ タイプは Activity です。SPMetal がエンティティを生成すると、次のクラスが表示されます。

public 部分クラス Activity : Event および public 部分クラス 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();
    }

それは投げます

マッピングに関連付けられた列が削除/名前変更されました

4

2 に答える 2

1

別の解決策 - InfoPath フォームから null 許容のブール値を設定しようとしてました。私の経験では、xml 値を更新してフォーム コンテンツをライブラリに保存することは問題ありませんが、そのような場合に昇格された列を更新することは問題です。

于 2013-02-22T11:53:10.547 に答える
0

これが古いスレッドであることは知っていますが、この問題が発生したばかりで、これが解決方法でした。

コンテンツ タイプが割り当てられたリストがありました。いくつかの項目を追加してから、SPMetal を生成しました。さて、コンテンツ タイプが変更されたので、リストを更新して SPMetal を再実行しました。すべてのテストが完了した後、本番環境にデプロイしましたが、そのときにエラーが発生しました。LinqPAD で同じクエリを実行したところ、すべて正常に機能しました。ワークフローからではありません。

リスト (SPMetal が生成されたもの) のコンテンツ タイプを更新したため、変更を表す奇妙な仮想メンバーがいくつか作成されたことが判明しました。もう 1 つのリスト (プロダクション リスト) には元のコンテンツ タイプがなかったため、仮想メンバーを認識できず、失敗しました。

私がこれを修正した方法は、テーブルを削除して (同じ名前で) 再作成し、コンテンツ タイプを再割り当てしてから、SPMetal を実行することでした。

于 2012-11-30T15:12:24.717 に答える