SharePoint 2010:使用SPMetal映射到图片超链接错误



每当我有一个类型为hyperlink的列,其格式设置为图片时,每当该列中实际存在一个值时,我就会得到一个错误。它抛出的异常是"指定的类型转换无效"。

我的想法是,问题是要么在这里(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来生成类,所以我将得到两个最明显的问题。

链接到答案:https://mgreasly.wordpress.com/2012/06/25/spmetal-and-workflow-associations/

在映射具有相关工作流的列表时,这是一个已知的错误。当它应该是Object时,SPMetal将其作为一个可空整数赋值,因此会产生强制转换错误。

解决方法:手动编辑映射,使类型返回一个对象,或者使用参数映射忽略列。

最新更新