Download Latest Version NHibernate.FlowQuery.2.3.0-GA.src.zip (2.1 MB)
Email in envelope

Get an email when there's a new version of NHibernate.FlowQuery

Home / 2.3.0
Name Modified Size InfoDownloads / Week
Parent folder
NHibernate.FlowQuery.2.3.0-GA.chm 2014-09-11 1.9 MB
README.txt 2014-09-11 8.7 kB
NHibernate.FlowQuery.2.3.0-GA.src.zip 2014-09-11 2.1 MB
NHibernate.FlowQuery.2.3.0-GA.bin.zip 2014-09-11 1.9 MB
Totals: 4 Items   5.8 MB 0
    (a "!" in the left margin indicates a potential breaking change)

>--------------
> BUILD 2.3.0
>--------------

    >-- IMPROVEMENTS
        - Logic for resolving method call projections should be split up to make code more maintainable and extensible

    >-- NEW FEATURES
        - Add possibility to project Trim (on string properties/values)
        - Add possibility to project TrimEnd (on string properties/values)
        - Add possibility to project TrimStart (on string properties/values)
        - Add possibility to project Math.Round
        - Add possibility to add custom logic to resolve method call projections
        - Add possibility to override default logic to resolve method call projections

    >-- TASKS
        - Remove unnecessary hyphens in comments (cache-able, sub-query, etc.)
        - Upgrade to NHibernate 4.0

    >-- TEST SUITE CHANGES
        - Add tests for new features and other changes in version 2.2

    >-- DOCUMENTATION
        - Update documentation to cover changes and new features in version 2.2

>--------------
> BUILD 2.2.0
>--------------

    >-- BUG FIXES
        - NuGet package should include license file
        - NuGet package should include release notes file

    >--	IMPROVEMENTS
        - Property names for orders set using OrderBy/OrderByDescending<TProjection>(..) should not be case sensitive
        - Add XML DOC comments to provide developers with better in-code documentation (intellisense, etc.)
    !   - Modify detached queries to not be able to project multiple properties (as sub-queries can't do that anyway)
    !   - Modify FetchBuilder to take an instance of IFlowQuery instead of FlowQueryBase<TSource, TQuery>
    !   - Modify JoinBuilder to take an instance of IFlowQuery instead of FlowQueryBase<TSource, TQuery>
    !   - Modify LockBuilder to take an instance of IFlowQuery instead of FlowQueryBase<TSource, TQuery>
    !   - Introduce an interface for PartialSelection which should be returned by "query.PartialSelect"
        - NuGet package should include the new help file (generated using SandCastle)

    >--	NEW FEATURES
        - Add possibility to Suppress errors when adding orders set using OrderBy/OrderByDescending<TProjection>(..)
        - Add possibility to specify custom criteria builder instead of using static helper (CriteriaHelper)
        - Add possibility to create truly detached queries (e.g. without ISession or IStatelessSession references)

    >-- TASKS
        - Introduce the use of StyleCop to enforce basic coding style rules.
        - Introduce the use of SandCastle to generate documentation help files
    !   - Rename class DelayedFlowQueryImplementor to DelayedFlowQuery
    !   - Rename class DetachedFlowQueryImplementor to DetachedFlowQuery
    !   - Rename class DetachedImmutableFlowQueryImplementor to DetachedImmutableFlowQuery
    !   - Rename class FlowQueryImplementor to FlowQueryBase
    !   - Rename class ImmediateFlowQueryImplementor to ImmediateFlowQuery
    !   - Rename class MorphableFlowQueryImplementor to MorphableFlowQueryBase
    !   - Rename class QueryableFlowQueryImplementor to QueryableFlowQueryBase
    !   - Rename namespace NHibernate.FlowQuery.Core.Implementors to NHibernate.FlowQuery.Core.Implementations
    !   - Move ExampleWrapper to NHibernate.FlowQuery.Core.Implementations namespace
    !   - Move JoinBuilder to NHibernate.FlowQuery.Core.Implementations namespace
    !   - Move LockBuilder to NHiberate.FlowQuery.Core.Implementations namespace
    !   - Move FetchBuilder to NHiberate.FlowQuery.Core.Implementations namespace
    !   - Move PartialSelection to NHiberate.FlowQuery.Core.Implementations namespace
    !   - Move PartialSelectionBuiler to NHiberate.FlowQuery.Core.Implementations namespace
    !   - Move SelectionBuilder to NHiberate.FlowQuery.Core.Implementations namespace
    !   - Move SelectSetup to NHiberate.FlowQuery.Core.Implementations namespace
    !   - Move SelectSetupPart to NHiberate.FlowQuery.Core.Implementations namespace
    !   - Move IJoinBuilder to NHibernate.FlowQuery.Core namespace
    !   - Move ILockBuilder to NHibernate.FlowQuery.Core namespace
    !   - Move IFetchBuilder to NHibernate.FlowQuery.Core namespace
    !   - Move ISelectSetup to NHibernate.FlowQuery.Core namespace
    !   - Move ISelectSetupPart to NHibernate.FlowQuery.Core namespace
    !   - Move Join to NHibernate.FlowQuery.Core.Structures namespace
    !   - Move Lock to NHibernate.FlowQuery.Core.Structures namespace
    !   - Move Fetch to NHibernate.FlowQuery.Core.Structures namespace
    !   - Move OrderByStatement to NHibernate.FlowQuery.Core.Structures namespace
    !   - Move Pair to NHibernate.FlowQuery.Core.Structures namespace
    !   - Clean out all "MetaDataFactory" references (as they are not used, nor planned to be used in the near-future)

    >-- TEST SUITE CHANGES
        - Add tests for new features and other changes in version 2.2

    >-- DOCUMENTATION
        - Update documentation to cover changes and new features in version 2.2

>--------------
> BUILD 2.1.1
>--------------

    >-- LICENSE
        - The license file in version 2.1.0 was invalid. By mistake the GPL license text had been added instead of the LGPL one. Doh!

>--------------
> BUILD 2.1.0
>--------------

    >-- BUG FIXES
        - OrderBy<TProjection>(..) cause query to have same sql projection twice instead of using alias, which cause a crash when also using Distinct()
        - OrderBy(..) cause a crash when used with more complex projections (ternary operations/expressions etc.)

    >-- IMPROVEMENTS
        - Should sign assembly with a strong name key
        - Should mark assembly with AllowPartiallyTrustedCallersAttribute
        - Should mark assembly with CLSCompliantAttribute
    !   - Aggregate.Average should return Double instead of Decimal to avoid multiple type casts in sql
        - Is.In(TEnumerable enumerable) where TEnumerable : IEnumerable should just be Is.In(IEnumerabe enumerable)

    >-- NEW FEATURES
        - Should support ICriteria.SetFetchMode features (e.g. query.Fetch(x => x.Association).WithJoin())
        - Should support ICriteria.SetCacheable/SetCacheRegion/SetCacheMode features (e.g. query.Cacheable([string], [CacheMode]))
        - Should support ICriteria.SetTimeout features (e.g. query.Timeout(int) and query.TimeoutAfter(int).Seconds())
        - Should support ICriteria.SetLockMode features (e.g. query.Lock([alias]).[LockMode]())
        - Should support ICriteria.SetReadOnly features (e.g. query.ReadOnly([bool]))
        - Should support ICriteria.SetComment features (e.g. query.Comment(string))
        - Should support ICriteria.SetFetchSize features (e.g. query.FetchSize(int))
        - Should support Restrictions.IsEmpty/IsNotEmpty and Subqueries.Exists/NotExists features (e.g. Is.Empty(..) and Is.Not.Empty(..))
        - Should support Projections.SubQuery features (e.g. Aggregate.Subquery<T>(..))
        - Should support projections with simple type casting (e.g. (int)x.MyProperty)
        - Should infer GroupBy columns from other projections (aggregations, explicit GroupBy)
        - Should be able to GroupBy without projecting value (e.g. query.GroupBy(..))
        - Should be able to copy/clone a FlowQuery reference (e.g. query.Copy())
        - Should be able to clear all restrictions (e.g. query.ClearRestrictions())
        - Should be able to clear time out (e.g. query.ClearTimeout())
        - Should be able to clear group by statements (e.g. query.ClearGroupBys())
        - Should be able to clear fetches (e.g. query.ClearFetches())
        - Should be able to clear locks (e.g. query.ClearLocks())
        - Is.In(..) should have overload accepting a DetachedCriteria
        - SessionExtensions should provide methods for getting Detached/Delayed (+ explicit Immediate) FlowQuery alterations directly

    >-- TASKS
        - Add license file (e.g. "License.txt")
        - Add release notes file (e.g. "Release Notes.txt")
        - Add read me file (e.g. "Read Me.txt")
        - Add NuGet support

    >-- TEST SUITE CHANGES
        - Change usage from Query to DummyQuery for unit tests not requiring a session to work (to speed up test runs)
        - Add mechanism for caching Configuration (to speed up test runs)
        - Add mechanism for skipping rebuild of, and adding data to, test DB (to speed up test runs)
        - Add tests for new features in version 2.1

    >-- DOCUMENTATION
        - Update documentation to cover changes and new features in version 2.1
Source: README.txt, updated 2014-09-11