优化前:
var temptable= context.Database.SqlQuery<Table>("select Name,type_desc as Type from sys.all_objects where type='U'").ToList();
var tempview= context.Database.SqlQuery<Table>("select Name, type_desc as Type from sys.all_views WHERE SCHEMA_ID='1'").ToList();
temptable.AddRange(tempview);
var a = new List<string>();
var b = new List<string>();
var c = a.Union(b);
List<Table> list = new List<Table>();
foreach (var item in temptable )
{
Table v = new Table();
v.Name = item.Name;
if (item.Type == "USER_TABLE")
v.Type = "表";
else
v.Type = "视图";
list.Add(v);
}
优化后的代码:
var result = context.Database.SqlQuery<Table>("select Name,'1'as Type from sys.all_objects where type='U'union select Name,'0'as Type from sys.all_views WHERE SCHEMA_ID='1'").ToList();