2009-04-24 9 views
1

エンティティにWinformsグリッドをバインドします。エンティティへのLinqの動的/強い型のフィルタリング

grid.DataSource = myEntities.entityName.Where("it.field = " & field) 

それは動作しますが、それは明らかに強く型付けされていない次のように(私はここでは触れません理由からそれはない結果クエリ、エンティティにバインドする必要があります)コードがあります。強く型付けされた表記法を使用してエンティティのWhere句を定義する方法はありますか?

答えて

4

ラムダ式を使用しようとしましたか?

grid.DataSource = myEntities.Customers.Where(c => c.Name == "Bob"); 

やVBで:

grid.DataSource = myEntities.Customers.Where(Function(c) c.Name = "Bob") 

それはダイナミックでなければならなら、あなたはカスタム式ツリーの構築を見たいと思うかもしれません。表現木の基礎に関するチュートリアルについては、このブログを参照してください。http://blogs.msdn.com/charlie/archive/2008/01/31/expression-tree-basics.aspx

このブログは、ソートの良い例を示しています。 http://weblogs.asp.net/davidfowler/archive/2008/12/11/dynamic-sorting-with-linq.aspx

+1

ありがとうございました。私のようなVBで作業している人のために、VB形式は:grid.DataSource = myEntities.Customers.Where(function(c)c.Name = "Bob") – Jeff

+1

ありがとう、私は答えに追加しました。 – bendewey

関連する問題