EF 中怎么获取数据表的字段
在Role表中有一条记录,我要找出这条记录中的数据库字段,且 字段类型为bool,并且值=true ?
能不能List<string> 出来
[解决办法]
思路:
直接用EF执行SQL语句,查询sysobjects和syscolumns 这两张表
以Northwind库为例,这是查询所有表的,查字段也类似:
http://blog.csdn.net/q107770540/article/details/6127137
void Main()
{
var constr = @"Data Source=.;Initial Catalog=Northwind;Integrated Security=True";
var context = new DataContext(constr) ;
string[] ss=context.ExecuteQuery<string>("select name from sysobjects where xtype='u'").ToArray();
foreach(string s in ss)
{
Console.WriteLine(s);
}
}
/*
Orders
Products
Order Details
CustomerCustomerDemo
CustomerDemographics
Region
Territories
EmployeeTerritories
dtproperties
sysdiagrams
Employees
Categories
Customers
Shippers
Suppliers
*/
[解决办法]
理论上说也可以给sysobjects直接映射成entity
以下方法没有测试过:
http://social.msdn.microsoft.com/Forums/en-US/6217cdf5-930a-4243-a4c1-a3b21cbb075d/linq-to-entities-for-sys-schema-views