Итак, я использую CRM 2011. Чтобы повысить производительность, я начал использовать ExecuteMultipleRequest. Он отлично работает при создании множества записей одновременно. Большой! Проблема у меня есть, что сразу после того, как я сделалКак получить обновленные объекты с Linq после ExecuteMultipleRequest
context.Execute(myMultipleRequest);
и получил правильный ответ с обратными идентификаторами, если я тогда сделать
context.myEntitiesSet.Where(x => x.Name == "foo")
(в основном опрашивать объекты только что создали) Я надеваю 'вернуть действительные объекты, то есть их идентификаторы пусты (Guid.Empty).
Так, кажется, я должен выбрать либо использование:
- использования
context.Create()
,context.Update()
,context.Where(...)
, et.c. или - использование
context.Execute(multiple)
иcontext.RetrieveMultiple()
Там, кажется, не быть серединой, так как контекст, кажется, не обновить, какие объекты он отслеживает, когда я использую ExecuteMultipleRequest
. Это моя основная проблема. Я могу создавать объекты просто отлично, но если я хочу их запросить, я не могу использовать запрос linq в контексте, тогда я должен использовать RetrieveMultiple
.
Я получил это назад или это хорошо известно при использовании CRM? Я опытный разработчик, но относительно новый для CRM.
Должен ли я позвонить context.AttachObject()
сам для всех вновь созданных объектов при использовании ExecuteMultipleRequest
?
Любая помощь будет оценена по достоинству. О, и я использую ранние связанные объекты.
Спасибо, это примерно то, что я сделал. Я извлекаю идентификатор, который я возвращаю в ответ. –