我将Winforms Grid绑定到实体。 (由于我不会进入这里的原因,它必须绑定到实体,而不是查询的结果)代码如下:
grid.DataSource = myEntities.entityName.Where("it.field = " & field)
它有效,但显然不是强类型。有没有办法使用强类型表示法定义实体的Where子句?
答案 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