2009-04-24 65 views
1

我将Winforms网格绑定到实体。 (对于原因,我不会进入这里必须绑定到实体,而不是结果的查询)的代码如下:Linq to Entities过滤实体动态/强类型

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

它的工作原理,但它显然不是强类型。有没有办法使用强类型符号来定义实体的Where子句?

回答

4

您是否尝试过使用lambda表达式?

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

或VB:

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

如果它是动态的,那么你可能想看看构建自定义表达式树。有关Expression Trees基础知识的教程,请参阅此博客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 2009-04-24 03:15:22

相关问题