Skip Navigation LinksHome > Categories > Code from a Category

[CRM 2011] Data, Metadata and Code Generation



User Name: ramonbueno
Name: Ramon Bueno
Contact Me: ramontebar.web.officelive.com/Contactme.aspx
Home Page: ramontebar.com
My blog is focused on Technology and IT. I like to share my experience and problems day by day, I believe it's one of the best ways to learn nowadays. My life is a "earthquake of activity". I can'... [More]
Viewed Times: 2524
Add Date: 09/27/2011
[CRM 2011] Data, Metadata and Code Generation
Following up my previous webcast about Data, Metadata and Code Generation, which can be watched online in any time, I wanted to share the resources (pptx and source code) that I showed during the event. In addition, I want to take this time to explain few more details.

On one side, we were talking about how to consume the CRM services to handle data and metadata based on three tools: Visual Studio Service Reference, CrmSvcUtil.exe and DataSvcUtil.exe. As summary, I prepared the next table with the possible cases to evaluate:



Go to this link, and download the VS2010 solution. As you can see below, you will find four projects according to the tool and the scenario: Early-Bound, Late-Bound and Metadata.


From the other side, we saw how to extend the tool CrmSvcUtil.exe to customise the code generation process following the next interfaces (these interfaces are defined inside of CrmSvcUtil.exe):

Go to this link and download the VS2010 solution where you can find three projects:

CrmSvcUtil project is the source code of CrmSvcUtil.exe, which has been reflected for debugging and educational propose . You can see a new App.config with the corresponding parameters. CodeDomXrmServices is the project that contains the extensions. In this case, we have extended ICodeWriterFilterService to filter the entities, as well as to allow the generation of Picklist and Status. Finally, TestCrmSvcUtil is a simple project to test the result generated by CrmSvcUtil.


I hope you find this helpful

Post a Comment

Name: (Optional)
Email: (Optional, you can get an email if somebody replys your comments)*
Email me if somebody respons my comment below:
Details**:
Enter Text
as Below:
(case insensitive, if hard to read, click the "get a new one" button)
 
    
* Your email address will not be shared with any third parties for any reason.
** Maximum 1000 charactors.