Cómo obtener entidades actualizadas con LINQ después de EjecutemultipLerEst -- # campo con performance campo con dynamics-crm-2011 campo con dynamics-crm camp Relacionados El problema

How to get updated entities with Linq after ExecuteMultipleRequest


1
vote

problema

Español

Entonces, estoy usando CRM 2011. Para mejorar el rendimiento, he comenzado a usar el ejecutivo. Funciona bien al crear muchos registros a la vez. ¡Estupendo! El problema que tengo es que justo después de haber hecho un

  context.Execute(myMultipleRequest);   

y obtuve una respuesta válida con la espalda de ID, si hago una

  val explicitLeftOuterJoin = for {   (c, s) <- Coffees leftJoin Suppliers on (_.supID === _.id) } yield (c.name, s.name.?) 0  

(básicamente consulta los objetos que se crean) No me devuelven objetos válidos, lo que significa que sus identificaciones están vacías (GUID.EMPTY).

Entonces, parece que tengo que elegir usarlo:

  • Uso val explicitLeftOuterJoin = for { (c, s) <- Coffees leftJoin Suppliers on (_.supID === _.id) } yield (c.name, s.name.?) 1 , val explicitLeftOuterJoin = for { (c, s) <- Coffees leftJoin Suppliers on (_.supID === _.id) } yield (c.name, s.name.?) 2 , val explicitLeftOuterJoin = for { (c, s) <- Coffees leftJoin Suppliers on (_.supID === _.id) } yield (c.name, s.name.?) 3 , et.c. o
  • Uso val explicitLeftOuterJoin = for { (c, s) <- Coffees leftJoin Suppliers on (_.supID === _.id) } yield (c.name, s.name.?) 4 y val explicitLeftOuterJoin = for { (c, s) <- Coffees leftJoin Suppliers on (_.supID === _.id) } yield (c.name, s.name.?) 5

No parece haber un terreno medio, ya que el contexto no parece actualizar qué entidades está siguiendo cuando estoy usando el val explicitLeftOuterJoin = for { (c, s) <- Coffees leftJoin Suppliers on (_.supID === _.id) } yield (c.name, s.name.?) 6 . Ese es mi problema básico. Puedo crear objetos bien, pero si quiero consultarlos, no puedo usar una consulta LINQ en el contexto, debo usar val explicitLeftOuterJoin = for { (c, s) <- Coffees leftJoin Suppliers on (_.supID === _.id) } yield (c.name, s.name.?) 7 .

¿He conseguido esto hacia atrás, o es esto bien conocido al usar CRM? Soy un desarrollador experimentado, pero relativamente nuevo en CRM.

¿Debo tener que llamar val explicitLeftOuterJoin = for { (c, s) <- Coffees leftJoin Suppliers on (_.supID === _.id) } yield (c.name, s.name.?) 8 yo para todas las entidades recién creadas cuando se usa val explicitLeftOuterJoin = for { (c, s) <- Coffees leftJoin Suppliers on (_.supID === _.id) } yield (c.name, s.name.?) 9 ?

Cualquier ayuda sería apreciada. Ah, y estoy usando objetos atados tempranos.

Original en ingles

So, I'm using CRM 2011. In order to improve performance I have started using the ExecuteMultipleRequest. It works fine when creating many records at once. Great! The issue I have is that right after I have done a

context.Execute(myMultipleRequest); 

and gotten a valid response with id's back, if I then do a

context.myEntitiesSet.Where(x => x.Name == "foo") 

(basically query the objects just created) I don't get valid objects back, meaning their id's are empty (Guid.Empty).

So, it seems I have to choose to either use:

  • use context.Create(), context.Update(), context.Where(...), et.c. or
  • use context.Execute(multiple) and context.RetrieveMultiple()

There doesn't seem to be a middle ground, as the Context doesn't seem to update which entities it is tracking when I'm using the ExecuteMultipleRequest. That is my basic problem. I can create objects just fine, but if I want to query them I can't use a linq query on the context, I must then use RetrieveMultiple.

Have I gotten this backwards, or is this well known when using CRM? I am an experienced developer, but relatively new to CRM.

Should I have to call context.AttachObject() myself for all newly created entities when using ExecuteMultipleRequest?

Any help would be appreciated. Oh, and I'm using early bound objects.

           

Lista de respuestas

1
 
vote
vote
La mejor respuesta
 

No creo que el crmlinqprovider se haya extendido para manejar su instancia. El EjecutemultipLereQuest devuelve un objeto EjecutemultiplerPonse que contiene los resultados de cada solicitud. Deberá pasar esto a través de esto para determinar las ID y actualizarlas usted mismo.

 

I don't believe the CrmLinqProvider has been extended to handle your instance. The ExecuteMultipleRequest returns an ExecuteMultipleResponse object that contains the results of each request. You'll need to loop through this to determine the ids, and update them yourself.

 
 
 
 

Relacionados problema

0  Pre-asignación de atributos creando nueva entidad  ( Pre allocation of attributes by creating new entity ) 
Mientras crea una nueva entidad en CRM, algunos campos se asignarán previamente. Exmaple: Para un nuevo contacto, TransactionCurrency y SERIEID se llenarán de...

0  Dynamics 365 WebHOOK JSON Ejecución remota Contexto enviado con caracteres alemanes como basura  ( Dynamics 365 webhook json remote execution context sent with german characters a ) 
Usando el registro de complementos, me registré webhook, automatización de potencia y Muestra WebHook . JSON (contexto de ejecución remota) enviado a WebHo...

0  Power Automatice el cuerpo de solicitud HTTP como REMOTEEXECUTINGUTOBJECT, cómo RETREVAR EL CAMPO DE PARTULARIO DE PARTULAR DEL ARGUMENTO DE ENTRADA  ( Power automate http request body as remoteexecutionobject how to retreive parti ) 
Tengo automatización de potencia que se ejecuta como WebHOOK a Dynamics I.E TRABIERTO ES SOLICITUD HTTP. Una vez que se ejecute esta solicitud, contiene el ...

3  Flujo de trabajo y rendimiento recursivo de MS CRM  ( Ms crm recursive workflow and performance ) 
Estoy a punto de escribir un flujo de trabajo en CRM que se llama cada día. Este es un flujo de trabajo recursivo. Se ejecutará en medio millón de entidades...

0  ¿Cómo cambiar el tamaño de la altura de la subgred en las formas de Dynamics CRM?  ( How to resize the height of the subgrid in dynamics crm forms ) 
Después de pasar todo el día, estoy publicando la siguiente pregunta. He seguido este Para mostrar más récords en la sub-cuadrícula de Dynamics CRM. Esto ...

3  Consulta SQL en Informe de CRM  ( Sql query in crm report ) 
Un "caso" en CRM tiene un campo llamado "estado" con cuatro opciones. estoy tratando de Construya un informe en CRM que llena una tabla con cada semana del...

1  SQL Server Ver en Dynamics 365 en premisa  ( Sql server view in dynamics 365 on premise ) 
He creado una vista en T-SQL personalizada en SQL Server contra una Dynamics 365 (versión 9.2) en la base de datos premisa. ¿Hay alguna otra parte, puedo expo...

0  Silverlight & CRM: cómo enlazar una columna de casilla de verificación DataGrid a una entidad de dos estados  ( Silverlight crm how to bind a datagrid checkbox column to a two state entity ) 
Tengo un DataGrid muy similar a uno proporcionado en el SDK: Como puede ver, hay 2 columnas de casilla de verificación, lo que me gustaría hacer es unir ...

2  CRM 2011: el servicio web WSDL no contiene mis entidades  ( Crm 2011 wsdl web service doesnt contain my entities ) 
Actualizaremos pronto a CRM 2011, así que estoy haciendo algunas pruebas. El problema es que cuando cambio mi referencia de servicio web al 2011, mi aplicació...

0  Cómo configurar las jerarquías en la MS CRM 4.0  ( How to setup hierarchies in ms crm 4 0 ) 
Necesito configurar las jerarquías en la MS CRM 4.0. A continuación, he mencionado cuatro niveles de jerarquía ... Agente de ventas - & GT; Gerente de ventas ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos