我可以通过编程方式(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)
任何想法,我错过了什么,我一整天都在挖掘,但仍然无法解决这个问题。提前谢谢。
非常赞赏。
答案 0 :(得分:0)
首先,尝试删除工作流程并重新添加。
您还可以创建两个简单的工作流,一个用于编写记录,另一个用于操作它(在编写时使用id)。
答案 1 :(得分:0)
确保数据库中没有相同ID的记录。您可能之前已插入它们。