The Wayward WebLog http://blogs.msdn.com/b/mattwar/archive/2008/11/18/linq-links.aspxに基づいて、linq プロバイダーを調べ始めました 。
私はこのコードを持っています
DbQueryProvider provider = new DbQueryProvider();
Query<Product> productQuery = new Query<Product>(provider);
IEnumerable<Product> preProductList = productQuery.Where(p => p.Id < 0).Take(4);
ICollection<Product> productList = preProductList.ToList();
Take(4) を見つけるのに多くの問題があります。Top(4) SQL ステートメントに変換したいのです。
.Take(4) は定数としてのみ式ツリーに設定されているように思われるため、それが Take 関数であるかどうかを知る方法はありません。
式に基づいて TakeFinder を作成する方法についてのアイデアはありますか?