我将 Winforms Grid 绑定到实体。(原因我这里就不赘述了,它必须绑定实体,而不是查询结果)代码如下:
grid.DataSource = myEntities.entityName.Where("it.field = " & field)
它有效,但显然不是强类型。有没有办法使用强类型符号定义实体的 Where 子句?
我将 Winforms Grid 绑定到实体。(原因我这里就不赘述了,它必须绑定实体,而不是查询结果)代码如下:
grid.DataSource = myEntities.entityName.Where("it.field = " & field)
它有效,但显然不是强类型。有没有办法使用强类型符号定义实体的 Where 子句?
您是否尝试过使用 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