【发布时间】:2016-03-04 06:42:57
【问题描述】:
我在使用 CRM Online 和自定义实体时遇到了问题,我无法更新自定义实体中的任何记录。除了无法更新记录之外,我也无法删除记录,这没什么大不了的,但还是有点奇怪。
当我尝试更新记录时,出现以下异常:
The entity cannot be updated because it is read-only.
最初我认为这是因为我没有查询正确的实体,但是当我执行以下操作时能够确认我正在编辑正确的实体:
var record = new jol_custom_orders();
record.jol_estimated_ship_date = DateTime.Parse("12/15/2015");
record.jol_purchase_order_id = new EntityReference(SalesOrder.EntityLogicalName, order.Id);
record.jol_account = new EntityReference(Account.EntityLogicalName, CustomerId);
var id = Service.Create(record);
当我直接从 crm 获取 id 并尝试更新相同的记录时,这就是我遇到问题的地方。
我正在尝试执行以下操作来更新记录:
var record = (jol_custom_orders)Service.Retrieve(jol_custom_orders.EntityLogicalName, id, new ColumnSet(true));
record.jol_estimated_ship_date = shipDate;
record.jol_estimated_ship_date = estimatedShipDate;
Service.Update(record);
那么我到底错过了什么,因为我真的不知道为什么这个记录现在是只读的。
编辑
我不确定原因,但我创建了另一个自定义实体,它的字段与导致我出现问题的字段相同,并且我能够完成所有的 crud 操作。我对此感到有些困惑,因为这根本没有意义。
【问题讨论】:
-
您确定您的用户有权更新/删除记录吗?
-
据我所知是的。当我创建记录时,我是以自己的身份创建记录,而我的用户既是定制员又是管理员
标签: dynamics-crm-online dynamics-crm-2015