これはマイナーリリースですが、バグと欠点を修正することに加えて、少しおいしいものを用意しました。 このリリースは、主にLinqプロバイダーの改善を目的としています。
- WCF DataServicesサポートが改善されました
- Linqは、基になるデータベースの関数とプロシージャへのより標準的な.NETメソッドのマッピングをサポートしています。 たとえば、
System.Math
クラスのSin
、Cos
およびその他の三角関数。 - このリリースから、Linq to NHibernateは最終的に*コレクションの投影のサポートを制限しました:
var emplyee = ( from emoloyee in db.Employees select new { EmployeeId = employee.EmployeeId, OrderIDs = employee.Orders.Select(o => o.OrderId) } ).ToArray();
*現在、サブクエリに追加の条件を追加することはできません。
注意 :
3.3.3.CR1より前のバージョンでは、Take()
メソッドの処理に論理エラーが含まれていました。このメソッドの要求がどこにあるかは関係ありません。常にメソッド呼び出しが最後にあるように処理されました バージョン3.3.3では、この動作が修正されました-現在、Take()
そのセマンティクスに従って正しく処理されます。 したがって、次のクエリは異なる結果を生成する場合があります。
session.Query<Foo>.OrderBy(...).Take(5).Where(...);
session.Query<Foo>.Where(...).OrderBy(...).Take(5);
バージョン3.3.3以降では、最初のクエリは、where句の前の行数に制限を適用するサブクエリを生成します。
変更点の完全なリストはここにあります 。
JIRAで見つかったバグを報告できます。 ソースコードはGitHubで入手できます 。
このリリースのリリースに参加したすべての人に感謝します。