日期:2014-05-17  浏览次数:20376 次

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