使用LINQ生成的类填充具有变量名称的列表框

时间:2009-11-17 00:17:10

标签: vb.net visual-studio-2008 linq class listbox

我是Visual Basic的新手 - 使用Visual Studio 2008并且似乎无法找到执行以下操作的方法:

我在SQL Server数据库中有几个表,并使用LINQ to SQL来创建这些表的类。

这是我想要的一个减少的例子: listbox1填充了表名 - APS,SMPS,WCPC,CFLAPS 然后,从SelectedIndexChanged事件中,listbox2应填充所选表的列标题。

我从数据库获取数据没有问题,并且可以通过从LINQ查询创建的匿名类型对象(例如APS.ID,APS.count等)访问所有这些头,但是使用这些变量名称填充列表框而不是他们内部的数据似乎相当难以捉摸。

这可能是一个跨平台编码问题而不是VB特定的问题,所以如果你有一个C#的解决方案,或者如果你能让我知道我会很高兴。

2 个答案:

答案 0 :(得分:1)

我建议使用反射来查找每个属性的名称。 我发现你可能觉得这个C#example很有用。

答案 1 :(得分:0)

这里你可能需要分析一个表达式树。基本上,如果您有LINQ to SQL查询,则会获得具有“expression”属性的IQueryable对象。此属性应为您提供有关匿名类型及其属性的信息。 这是一个很好的起点(是的,它是为C#编写的,但它也适用于VB): http://blogs.msdn.com/charlie/archive/2008/01/31/expression-tree-basics.aspx