0

画像用に設定された形式のハイパーリンク タイプの列がある場合、その列に実際に値がある場合は常にエラーが発生します。それがスローする例外は、「指定されたキャストは無効です」です。

私の考えでは、問題は次のいずれかです (FieldType が Url に設定されています):

[Microsoft.SharePoint.Linq.ColumnAttribute(Name = "FOO", Storage = "FOO_", FieldType = "Url")]
public string FOO
{
    get
    {
        return this._FOO;
    }
    set
    {
        if ((value != this._FOO))
        {
            this.OnPropertyChanging("FOO", this._FOO);
            this._FOO = value;
            this.OnPropertyChanged("FOO");
        }
    }
}

またはここ(文字列にキャストされています):

private string _FOO;

しかし、これらのフィールドのいずれかの適切な値がどうあるべきかはわかりません。どんな助けでも大歓迎です。

このフィールドにデータが含まれていない場合はいつでも機能し、SPMetal を使用してクラスを生成しただけなので、2 つの最も明白な質問を邪魔にならないようにします。

4

1 に答える 1

0

回答へのリンク: https://mgreasly.wordpress.com/2012/06/25/spmetal-and-workflow-associations/

関連付けられたワークフローを持つリストをマッピングするときの既知のバグであることが判明しました。SPMetal は、オブジェクトであると想定される場合に null 許容整数として割り当てるため、キャスト エラーが発生します。

回避策: マッピングを手動で編集してオブジェクトを返す型にするか、パラメーター マップを使用して列を無視します。

于 2014-06-19T21:17:03.657 に答える