.net 将字符串转换为可读的linq对象
这是一个学校的作业,我正试图保持尽可能灵活,以便我可以在未来参考它 我正在尝试编写一个程序,该程序使用组合框将字符串传递给Linq查询.net 将字符串转换为可读的linq对象,.net,vb.net,linq,.net,Vb.net,Linq,这是一个学校的作业,我正试图保持尽可能灵活,以便我可以在未来参考它 我正在尝试编写一个程序,该程序使用组合框将字符串传递给Linq查询 Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged ContractDataGridView.DataSource = N
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
ContractDataGridView.DataSource = Nothing
Dim currValue As Linq.Contract = "aContract." & ComboBox1.Text 'error is here with the literal and returned value
'Value of type 'String' cannot be converted to 'Linq.Contract'.
Dim db As New myDatabaseDataContext
Dim query = From aContract In db.Contracts
Select currValue
Order By aContract.ContractAmt
ContractDataGridView.DataSource = query
End Sub
我知道如何使用暴力。如果可能的话,我希望有一些更灵活的东西。你是想使用字符串“aContract.”ComboBox1.Text'作为要排序的列的名称?如果是这样,您将尝试创建一个复杂的动态Linq查询,我想,这与您在这方面所做的努力程度不尽相同。查看支持这样做的整个库
有帮助的是,尝试更多地解释一下您试图使用的“aContract”ComboBox1.Text“要完成的价值”。什么是Linq.Contract?我的IDE无法识别它,也找不到任何文档:-/我的原始代码的值为String=aContractComboBox1.Text和Order By currValue查询是在没有Order By ExecutionGokay的情况下运行的。那没有回答我的问题。我想你的代码片段应该没有意义吧?你能解释一下你想做什么吗?我想用一个查询填充一个数据网格。我想使用字符串作为该查询的一部分。Contract试图将该字符串格式化为查询可以读取的内容。是的!我想动态命名要排序的列。我不知道为什么我不能更好地表述这一点。选择值应为currValue,而不是aContract。我来编辑。是的,这可能比我通常想为这个项目投入的精力还要多。我觉得知道如何创建动态linq查询在将来可能会很方便。