Skip to content

Version History

Oleg Karasik edited this page Aug 28, 2022 · 5 revisions

Version 1.1.33.0

New

  • Now DefaultDynamicLinqCustomTypeProvider is able to check whether Assembly was dynamically generated using Reflection.Emit when using .NET Framework 3.5.

Fixed

  • Fixed an issue when using DefaultDynamicLinqCustomTypeProvider. In cases when Assembly from current AppDomain can't be reflected (reflection calls like GetTypes() fail with ReflectionTypeLoadException) the provider was failing and could crush the application. Now DefaultDynamicLinqCustomTypeProvider silently eats these exceptions.

  • Fixed a way how Dynamic Linq was parsing new() expressions.

    Previously expressions of form new (it.Foo, it.Bar) were parsed into NewExpressions + MemberInitExpression expressions:

    // C# equivalent 
    new DynamicType()
    {
      Foo = it.Foo,
      Bar = it.Bar
    }

    Now new() expression is parsed into (NewExpression + ConstructorInfo):

    // C# equivalent 
    new DynamicType(Foo: it.Foo, Bar: it.Bar)

    This change aligns expression tree generated by Dynamic Linq to one generated by C# compiler.

Contributors

  1. jehhynes, PR: #18

Version 1.1.32.2

Announcements

  • Removed dependency on FluentAssertionNA package.

New

  • Added new strongly typed Select method overload.
  • Added binaries targeting .NET Core 2.0.

Version 1.1.20.1

Fixed

  • Fixed broken package upload.

Version 1.1.20

New

  • Updated assembly information.

Fixed

  • Renamed Union method to UnionAll method to avoid signature trashing with System.Linq.

Version 1.1.19.1

Announcements

  • Non-functional release. Updated the authors and owners information.

Version 1.1.19

New

  • Added support for Union method.

Version 1.1.18 (Archive)

New

  • Added support for DefaultIfEmpty method.

Version 1.1.17 (Archive)

New

  • Added support for Distinct method.

Version 1.1.16 (Archive)

New

  • Added support for complex SelectMany method overloads.
  • Added support for explicit integer number qualifiers: U - UInt32, L - Int64, UL - UInt64

Version 1.1.15 (Archive)

New

  • Added support for OData like operator aliases: "eq", "ne", "neq", "lt", "le", "gt", "ge", "and", "or", "not", "mod".
  • Added support for string to type convention using T"s" syntax (see documentation for details).
  • Added support for primitive type aliases ("int", "uint", "short", "ushort", "long", "ulong", "bool", "float")

Version 1.1.14 (Archive)

New

  • Added support for Silverlight 5. A special thanks to jkuehner for providing this.
  • Added several new helper methods, including First, FirstOrDefault, Last, LastOrDefault, Single, SingleOrDefault and Sum.

Version 1.1.13 (Archive)

New

  • Added dynamic Join method.
  • Added dynamic context keywords parent and root, to the existing keyword it. Also added symbol equivalents to those keywords ($ - it, ^ - parent, and ~ - root). Added ability to GlobalConfig to disable the context keywords.

Version 1.1.12 (Archive)

New

  • Added dynamic method for GroupByMany. Support for logical operators. Better Guid and Enum support. Added support for shift operators.
  • Added static GlobalConfig class, and IDynamicLinkCustomTypeProvider to allow developers to add custom understood types to Dynamic Linq without the need to recompile.

Version 1.1.9 (Archive)

New

  • Added in operator for both static inline lists, as well as a single parameter list (similar to contains).

Version 1.1.8 (Archive)

New

  • Added support for the use of Single(), SingleOrDefault(), First(), FirstOrDefault(), OrderBy(), OrderByDescending(), and Contains() in string expressions.

Version 1.1.7 (Archive)

New

  • Added SelectMany method.

Fixed

  • Fixed bugs that only appear when using LINQ-to-Entities.

Version 1.1.6 (Archive)

New

  • Added ability to access members of dynamic objects in subsequent sequences.

Fixed

  • Fixed multi-threading issue in conjunction with new() expressions.

Version 1.1.5 (Archive)

New

  • Added ability to select members of sub-tables.

    Example: var dynamicObject = qry.Select("new (StringProperty, SubTable.Select(SubTableId) as SubTableIds)")

Version 1.1.4 (Archive)

New

  • For .NET 4.0+, Select and GroupBy now take advantage of the dynamic keyword, allowing for preservation of generic types when possible, and easier access to members of dynamic queries.

Version 1.1.3 (Archive)

New

  • Added several new Methods to support base IQueryable interface, including: Single(), SingleOrDefault(), First(), FirstOrDefault() and Reverse(). Also adds dynamics versions of those methods for 4.0+ targets, including a AsEnumerableDynamic().
  • Added GroupBy Method that doesn't Require a resultSelector predicate.

Fixed

  • Bug Fix when using Select method to select multiple values.