Posts in Category: uncategorized

Joining Queries in Dynamics

I recently finished a project that required some pretty complicated querying between entities to get at the data.

What I found is that I was making too many calls to get linked data between EntityReferences in my code to the server.

To improve the performance of these calls I made use of the Addlink functionality on the QueryExpression.

Whereas before I was making two calls to get at my entity data, now I was only going to make one.

My initial query looked like this

QueryExpression query = new QueryExpression(); query.EntityName = "ENTITY"; query.Criteria.AddCondition(new ConditionExpression("ATTR_FILTER1", ConditionOperator.Equal, APPID)); query.Criteria.AddCondition(new ConditionExpression("ATTR_FILTER2", ConditionOperator.Equal, SearchId)); query.ColumnSet = new ColumnSet(new string[] { ENT_LOOKUP_ID, ENT_LOOKUP_ID2 }); 

var plink = query.AddLink("ENTITY2", ENT_LOOKUP_ID2D , ENT_LOOKUP_ID2 , JoinOperator.Inner); plink.EntityAlias = "PH"; plink.Columns.AddColumns("ATTR_FILTER4", "ATTR_FILTER5");

 

When executed as a normal query, this in turn

Read More


Comments are King

///

That is all it takes to explain what you are doing, why you are doing it, how you are doing it and where you will do it.

It’s not rocket science, it’s not complicated, it doesn’t add hours to your coding effort and in some cases it has the potential to be an added dose of humour to your fellow colleagues as you work through a particularly stressful problem.

Comments were put to me in the best way possible years ago…

Imagine the person behind you is a Crazed Serial Killer and your lack of comments will be the tipping point for them.

Comment your code not only for your team, but for yourself, so you remember why you wrote it, what stress you were under and why it shouldn’t be refactored.

Dynamics Plugins and

Read More