如何獲取所有表的列表並使用該列表枚舉列? 我發現了描述其中一個或另一個的帖子,但不是兩個。使用列枚舉的LINQ表枚舉
我的淨結果是我想生成包含每個表中的所有列的名稱,以便我可以,例如靜態類,這樣做:
comboBoxFoo.DisplayMember = SomeNamespace.SomeTable.SomeDisplayColumnName;
comboBoxFoo.ValueMember = SomeNamespace.SomeTable.SomeIDColumnName;
comboBoxFoo.DataSource = dingo;
我目前使用this方法,而它的工作原理,這意味着我必須手動創建我的表在列表中。
我有一個單獨的命令行項目,它會手動生成SomeNameSpace.SomeTable類,並將生成的類文件添加到項目中。
理想的情況下,如果我可以遍歷通過表格的一個foreach,做這樣的事情:
foreach(var table in someTableNumerationMethodForAGivenContext())
{
var columnList = databaseContext.ColumnNames<someTable>();
foreach(var columnData in columnList)
{
DoJazz(columnData.Name);
}
}
是否有更好的方法來做到這一點以外手動要做databaseContext.ColumnNames()?
編輯1: 我們正在使用LinqToSQL。移動到ADO.NET也是一個選項,但目前我們沒有迫切的需要。
編輯2: 我知道L2S做數據綁定,但我後來得到的列名稱作爲字符串從一個表中。 L2S不提供這個,或者在我這邊並不明顯。 我想做類似於:SomeTable.SomeColumn.ToString()或其他。 SubSonic有這個。
Final: 謝謝大家。所有這些都是非常好的答案,並讓我找到答案。你們好棒!
我們正在使用Linq to SQL,但我不知道如何引用列名是字符串。任何鏈接提供,所以我可以讀取?我覺得我錯過了一些完全明顯的東西。 – 2009-05-26 15:22:03