从datacontext获取强类型列名

时间:2010-01-06 06:38:10

标签: linq linq-to-sql

是否可以直接从datacontext获取列名?下面我只是对DataTextField和DataValueField进行硬编码,但是如果可能的话,我希望能够从datacontext中获取它们。以强类型方式获取列名称的推荐方法是什么?

DataClassesDataContext db = new DataClassesDataContext(WebConfigurationManager.ConnectionStrings[connstring].ConnectionString);

        drdPriority.DataSource = db.Tasks;
        drdPriority.DataTextField = "TaskDescription";
        drdPriority.DataValueField = "TaskId";
        drdPriority.DataBind();

1 个答案:

答案 0 :(得分:1)

请尝试以下代码:


      using (DataContext1.DataContext1 dc = new DataContext1.DataContext1()) { 
        var q = dc.Mapping.GetTables(); 
        foreach (System.Data.Linq.Mapping.MetaTable table in q) { 
          List names = new List(); 
          foreach (System.Data.Linq.Mapping.MetaDataMember member in table.RowType.DataMembers) { 
            names.Add(member.Name); 
          }
          //Process the names here 
        }