Linq to Entities过滤实体动态/强类型

时间:2009-04-24 02:57:23

标签: vb.net winforms linq linq-to-entities strong-typing

我将Winforms Grid绑定到实体。 (由于我不会进入这里的原因,它必须绑定到实体,而不是查询的结果)代码如下:

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

它有效,但显然不是强类型。有没有办法使用强类型表示法定义实体的Where子句?

1 个答案:

答案 0 :(得分:4)

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

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