我知道我在这里有多个任务,但是由于它们是相互关联的,因此我将它们作为一个任务来请求。
我有一个具有可选列的DevExpress数据网格(但问题与任何其他网格相似),这意味着用户可以从显示或隐藏的列列表中进行选择。可选列的列表可以由系统管理员扩展,因此可用列的列表不是静态的。我希望仅检索最终用户选择的那些列的数据,这些数据在UI上可见。由于在过载的DB服务器上有大约100列可供选择,并且大约有100-150K条记录,因此,检索所有数据并仅显示网格所需的数据不是一种选择。
网格列具有数据绑定属性,属性名称对应于实体属性,而实体属性又对应于数据库列名称,因此很容易从网格列一直到数据库列。
问题是我不知道如何使用EF构建动态查询?如何为每个查询创建具有不同属性的动态类?如何将这样的动态类绑定到网格?还是我完全朝错误的方向前进,并且有针对这种情况的最佳实践?