代码改变世界

Linq to SQL中获取所有表名和列名

2008-02-03 21:16  无常  阅读(2672)  评论(1编辑  收藏  举报

文档中要附上数据字典,当然这已经有很多现成的工具了,但在用linq to sql,又想尝试一种新的方法。

幸运,MS给我们准备的方法使用非常简单,只需如此:

 

class Program
{
   
static void Main(string[] args)
    {
        NorthwndDataContext db
= new NorthwndDataContext();

        Console.WriteLine(
"Database: {0}",db.Mapping.DatabaseName);
        var tables
= from t in db.Mapping.GetTables()
                     orderby t.TableName
                     select t;
       
foreach (var table in tables)
        {
            Console.WriteLine(table.TableName);
           
foreach (var col in table.RowType.DataMembers)
            {
                Console.WriteLine(
"\t{0}\t{1}", col.MappedName,col.DbType);
            }
        }
        Console.ReadLine();
    }
}