每当我有一个类型为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将其作为一个可空整数赋值,因此会产生强制转换错误。
解决方法:手动编辑映射,使类型返回一个对象,或者使用参数映射忽略列。