XrmLinq releases version 1.5

  • Digg
  • Facebook
  • LinkedIn
  • Twitter
 


Linq to Dynamics CRM is now certified!
XrmLinq is proud to release XrmLinq version 1.5, the second release to be made under its new Microsoft ISV (Independent Software Vendor) status!

Download the trial version 1.5

Announcement

We are announcing a developer license, this will allow you to redistribute XrmLinq along with your application to an unlimited number of organizations and use with unlimited number of applications you build on top of Dynamics CRM.

FetchXml Support

We have finally added support for fetchxml. Now you are able to retrieve attributes from multiple linked entities using a single call to the crm web service.

Here is an example of how you would use fetchxml instead of query expressions.

CrmDataContext context = new CrmDataContext(Connection.Create("server", "org"));
context.QueryThrough = QueryThroughType.FetchXml;

More v1.5 Improvements

  • Removed dependency on the CrmDataAccess classThe generated code will use the context that you define to query one-to-many and many-to-one links. You can also use Create, Update, Retrieve (and other methods) that were inside CrmDataAccess directly from the context.
    context.Update<Account>(myAccount);

    This allows you to write unit tests more easily, you can now create a mock context by inheriting from the XrmDataContext class.

  • Removed ForceNullOnUpdateThe ForceNullOnUpdate property has been removed, we have changed our internal methods to make this automatic and transparent to you the developer. For example, to update an account
    if (myAccount != null)
    {
        myAccount.Name = string.Format("Updated {0}", myAccount.Name);
        context.Update<Account>(account);
    }
  • Added support for to, cc, bcc fieldsv1.4 and below; you were not able to get or set values fro these fields, however in v1.5 we have added support for these attributes. These attributes are now mapped to the ActivityParty class. Example:
    Email mail = (from e in context.Emails
                  select e).Take(1).SingleOrDefault();
     
    for (int i = 0; i < mail.To.Count; i++)
    {
        Console.WriteLine(mail.To[i].PartyIdType); // user, account, contact or lead
        Console.WriteLine(mail.To[i].PartyId); // pointer to the entity
        Console.WriteLine("Email Address: {0}", mail.To[i].AddressUsed);
    }

Bug Fixes

  • Fixed: Method call or condition expression on a selector not selecting the correct attributes
  • Fixed: Some queries not joining correctly
  • Fixed: Projecting to an anonymous class not selecting the correct attributes
  • Fixed: Picklist labels with special characters causing compile time errors
  • Fixed: Lookup properties not being saved properly
  • Improvement: Performance of fetchxml improved by 25%

Breaking Changes

  • Code generated using v1.4 will not work with the v1.5 XrmLinq.dll
  • Several public methods removed from CrmDataAccess
  • ForceNullOnUpdate removed from CrmEntity
  • Sdk and ISdk property removed from CrmEntity
  • Several Set* and Get* method signatures changed
  • VB.NET code generation suspended until next version (T4 templates)

What’s Coming Next?

  • Count, Sum, Avg fetchxml support
  • T4 template allowing you to control the generated code

Feature Requests and Feedback

Please contact support@xrmlinq.com

No Feedback

No feedback yet.

RSS feed for feedback on this post. TrackBack URI

Leave your feedback

© XrmLinq 2009.