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.
192.168.l.254