2

我可以通过编程方式(C#)成功地在轮廓中创建条目,但我无法使用记录 ID 更新创建的记录。在挖掘了我的头之后,找不到以下代码不起作用的原因。这是非常基本的,我要做的就是获取轮廓中存在的记录。

 RecordStorage recordStorage = new RecordStorage();
 Record r = recordStorage.GetRecord(new Guid("15d654cb-a7c6-4f1f-8b55-0ecd7d19b0e3"));
 recordStorage.Dispose();

刚开始更新过程,我试图使用它的 id 获取记录对象,但由于它引发了一个奇怪的错误“<strong>已添加具有相同键的项目”,因此无法继续进行。当我调用“storage.GetRecord()”时它试图设置值时,我无法理解。以下是堆栈跟踪

**An item with the same key has already been added.**
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at Umbraco.Forms.Data.Storage.RecordFieldStorage.GetAllRecordFields(Record record)
   at Umbraco.Forms.Data.Storage.RecordStorage.GetRecord(Object id)
   at MauriceBlackburn.Service.ContourFormService.InsertRecord(ContourFormFields unionContourForm)

任何想法,我是否错过了什么,我整天都在挖掘,但仍然无法弄清楚这一点。提前致谢。

非常感激。

4

2 回答 2

0

首先,尝试删除工作流并重新添加它。

您还可以创建两个简单的工作流程,一个将写入记录,另一个用于操作它(写入时使用 id)。

于 2013-05-14T21:39:06.243 回答
0

确保数据库中没有具有相同 ID 的记录。您可能以前插入过它们。

于 2014-08-11T14:52:41.207 回答