Первая проблема заключается в том, что вы создаете экземпляр entityRef
как new Entity("financialaid")
, но никогда не назначаете свойство Id
этого объекта, поэтому вызов service.Update(entityRef)
попытается обновить запись объекта financialaid, который имеет financialaidid = Guid.Empty
, который не должен существовать.
Циклирование результатов можно значительно упростить, используя некоторые выражения Linq или просто foreach. Цикл также не имеет смысла, так как вы обновляете одну и ту же запись каждый раз (финансовая запись с пустым идентификатором).
Если то, что вы пытаетесь выполнить, sh, это обновить каждую запись сущности financialaid и установите для атрибута emailcontent значение «test», поместите его в l oop:
var entityRef = new Entity(retrieved.Entities.LogicalName, retrieved.Entities.Id);
entityRef["emailcontent"] = "test";
service.Update(entityRef);
Обратите внимание, что Fetch XML является только языком запросов , вы не можете использовать Выбрать XML для обновления записей. Думайте об этом как о выражении select SQL.
Наконец, если вы просто хотите массово обновить все записи financialaid для установки значения поля, я бы рекомендовал использовать для этого существующий инструмент вместо записи одноразовое приложение, чтобы сделать это. В этом случае инструмент Bulk Data Updater в XrmToolBox сделает эту работу.