使用记录 ID 更新轮廓表单(记录)
Posted
技术标签:
【中文标题】使用记录 ID 更新轮廓表单(记录)【英文标题】:Update Contour form(records) using the record ID 【发布时间】:2013-05-08 12:03:23 【问题描述】:我可以通过编程方式(C#)成功地在轮廓中创建条目,但我无法使用记录 ID 更新创建的记录。在挖掘了我的头之后,找不到以下代码不起作用的原因。这是非常基本的,我要做的就是获取轮廓中存在的记录。
RecordStorage recordStorage = new RecordStorage();
Record r = recordStorage.GetRecord(new Guid("15d654cb-a7c6-4f1f-8b55-0ecd7d19b0e3"));
recordStorage.Dispose();
刚开始更新过程,我正在尝试使用它的 id 获取记录对象,但由于它引发了一个奇怪的错误“已添加具有相同键的项目。” 当我调用“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)
任何想法,我是否错过了什么,我一直在挖掘一整天,仍然无法弄清楚这一点。提前致谢。
非常感谢。
【问题讨论】:
这可能是在 our.umbraco.org 上询问的人 【参考方案1】:首先,尝试删除工作流并重新添加。
您还可以创建两个简单的工作流,一个用于写入记录,另一个用于操作记录(写入时使用 id)。
【讨论】:
嗨@madebybear,感谢您的回复。抱歉,我有点困惑,如何使用工作流程编辑记录。我正在以编程方式做所有事情,即插入记录并更新它。表单字段实际上来自移动应用程序。有没有其他方法可以做到这一点?【参考方案2】:确保数据库中没有具有相同 ID 的记录。您可能以前插入过它们。
【讨论】:
以上是关于使用记录 ID 更新轮廓表单(记录)的主要内容,如果未能解决你的问题,请参考以下文章