Views: 383
Number of votes: 1
Average rating:

What's new in Episerver Social 1.5?

This week brings the release of Episerver Social 1.5. In addition to a handful of internal enhancements and performance tweaks, this version introduces the AnyExpression. 

This new expression allows you to compare a field of your extension data against a set of values, matching documents where the field's value is represented by any within the set.

Consider a scenario where a collection of Comments has been extended with the following sample of extension data:

{ LuckyNumber = 7 }
{ LuckyNumber = 42 }
{ LuckyNumber = 5 }
{ LuckyNumber = 10 }

With the AnyExpression we can now identify those Comments with a LuckyNumber that matches any of a series of values.

var luckyNumberField = FilterExpressionBuilder<MyCommentExtension>.Field(ext => ext.LuckyNumber);
var luckiestComments = luckyNumberField.Any(new long[] { 5, 7, 9 });

var criteria = new CompositeCriteria<Comment, MyCommentExtension>
{                
    ExtensionFilter = luckiestComments 
};

var commentService = ServiceLocator.Current.GetInstance<ICommentService>();
var results = await commentService.GetAsync(criteria);

In the snippet show above, the service will return a set of Comments extended with the lucky numbers 5, 7, or 9. Given our initial sample, this means that we'd receive those comments with: 

{ LuckyNumber = 7 }
{ LuckyNumber = 5 }

This expression can be applied to any Episerver Social feature accepting extension data. For more details, feel free to dig into the developer guide.

  Please login to post a comment