测试MetaTable是指表还是视图

时间:2015-02-12 21:53:29

标签: .net linq-to-sql

使用LINQ-to-SQL MetaModel时,如何确定给定的MetaTable是引用表还是视图?例如,如果启动LINQPad,然后打开一个新查询并选择一个数据库,则可以将所有表列为MetaTable对象:

Mapping.GetTables()

LINQPad以某种方式知道哪些是表,哪些是视图。如何在我的代码中做出这个决定?这是MetaModel故意抽象出来的吗?

1 个答案:

答案 0 :(得分:0)

您可以简单地从LINQ to SQL获取MetaTables:

var db = new MyDataContext("...");
var tables = db.Mapping.GetTables();

但是,MetaTable对象没有任何特定内容可以详细说明某些内容是表格还是视图,所以除非你有一个命名约定,否则你仍然会运气不好。