如上所述我尝试使用DotCMIS和Visual Studio 2010在Alfresco CMS中创建具有多值属性的文档
Dictionary<string, object> DocumentProperties = new Dictionary<string, object>();
DocumentProperties[PropertyIds.Name] = "MyPDF.pdf";
DocumentProperties[PropertyIds.ObjectTypeId] = "D:mit:mypdf";
DocumentProperties["mit:author"] = "myPDFAuthor";
DocumentProperties["mit:serialnumber"] = "23A100001";
ContentStream contentStream = new ContentStream();
contentStream.FileName = "MyPDF.pdf";
contentStream.MimeType = "application/pdf";
contentStream.Stream = new MemoryStream(File.ReadAllBytes("C:/mypath/mypdf.pdf"));
IDocument doc = root.CreateDocument(DocumentProperties, contentStream, DotCMIS.Enums.VersioningState.Major);
就好而言,这没有问题。
DocumentProperties["mit:gesamtwert"] = ???
这里问题开始了。 &#34; MIT:gesamtwert&#34;是一个多值属性(数据类型:浮点数),我无法弄清楚如何以正确的方式传递值。我试过List,float []和其他几个......我错过了什么?我看到一些使用ArrayList的java解决方案,但我无法将其转换为工作集。
如果我尝试传递单个浮点值,那么
System.ArgumentException: Property 'mit:gesamtwert' is not a single value property!
如果我传递数组或列表
System.ArgumentException: Property 'mit:gesamtwert' is a Decimal property!
所以它只是不识别数组或列表的列表字符并将其解释为单个值,显然不是浮点数。
任何帮助都是很有意义的!在此先感谢您的帮助! reineke
答案 0 :(得分:4)
对于多值十进制属性,您必须使用List<decimal>
。 Float在CMIS中不存在。改为使用十进制。