-
Notifications
You must be signed in to change notification settings - Fork 9
Version History
- Now
DefaultDynamicLinqCustomTypeProvider
is able to check whetherAssembly
was dynamically generated usingReflection.Emit
when using .NET Framework 3.5.
-
Fixed an issue when using
DefaultDynamicLinqCustomTypeProvider
. In cases whenAssembly
from currentAppDomain
can't be reflected (reflection calls likeGetTypes()
fail withReflectionTypeLoadException
) the provider was failing and could crush the application. NowDefaultDynamicLinqCustomTypeProvider
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 intoNewExpressions
+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.
- Removed dependency on
FluentAssertionNA
package.
- Added new strongly typed Select method overload.
- Added binaries targeting .NET Core 2.0.
- Fixed broken package upload.
- Updated assembly information.
- Renamed
Union
method toUnionAll
method to avoid signature trashing withSystem.Linq
.
- Non-functional release. Updated the authors and owners information.
- Added support for
Union
method.
- Added support for
DefaultIfEmpty
method.
- Added support for
Distinct
method.
- Added support for complex
SelectMany
method overloads. - Added support for explicit integer number qualifiers:
U
-UInt32
,L
-Int64
,UL
-UInt64
- 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")
- 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
andSum
.
- Added dynamic
Join
method. - Added dynamic context keywords
parent
androot
, to the existing keywordit
. Also added symbol equivalents to those keywords ($
-it
,^
-parent
, and~
-root
). Added ability toGlobalConfig
to disable the context keywords.
- Added dynamic method for
GroupByMany
. Support for logical operators. BetterGuid
andEnum
support. Added support for shift operators. - Added static
GlobalConfig
class, andIDynamicLinkCustomTypeProvider
to allow developers to add custom understood types to Dynamic Linq without the need to recompile.
- Added
in
operator for both static inline lists, as well as a single parameter list (similar to contains).
- Added support for the use of
Single()
,SingleOrDefault()
,First()
,FirstOrDefault()
,OrderBy()
,OrderByDescending()
, andContains()
in string expressions.
- Added
SelectMany
method.
- Fixed bugs that only appear when using LINQ-to-Entities.
- Added ability to access members of dynamic objects in subsequent sequences.
- Fixed multi-threading issue in conjunction with
new()
expressions.
-
Added ability to select members of sub-tables.
Example:
var dynamicObject = qry.Select("new (StringProperty, SubTable.Select(SubTableId) as SubTableIds)")
- 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.
- Added several new Methods to support base
IQueryable
interface, including:Single()
,SingleOrDefault()
,First()
,FirstOrDefault()
andReverse()
. Also adds dynamics versions of those methods for 4.0+ targets, including aAsEnumerableDynamic()
. - Added
GroupBy
Method that doesn't Require aresultSelector
predicate.
- Bug Fix when using
Select
method to select multiple values.
Copyright 2022 Oleg Karasik