当前位置:编程学习 > C#/ASP.NET >>

linq 一对一查询,一表的表名要从A表的数据中得到,怎么引用或查询???

A表
<table border=1>
<tr>
<th>id</th>
<th>tblName</th>
<th>tblId</th>
<th>state</th>
</tr>
<tr>
<td>1</td>
<td>tbl1</td>
<td>01</td>
<td>0</td>
</tr>
<tr>
<td>2</td>
<td>tbl2</td>
<td>21</td>
<td>1</td>
</tr>
</table>

tab表  
<table border=1>
<tr>
<th>id</th>
<th>content</th>
</tr>
<tr>
<td></td>
<td></td>
</tr></table>


sql 简单语句为:
  q1=select tbl from A where state==0
  q2=select * from tbl inner join A where tbl.id==A.tblId
从A表中查询state==0的所有tabName即某表名,然后再从tab表名为tabName中查询tab.id==A.tabId

需要用linq查询  ,用的是entity framework。。。 LINQ SQL --------------------编程问答-------------------- var query=from a in A.where(a=>a.state==0) 
join b in tbl on a.tablid equals b.id

select new
{
b.id,
b.name
} --------------------编程问答--------------------
引用 1 楼 ITjyLh 的回复:
var query=from a in A.where(a=>a.state==0) 
join b in tbl on a.tablid equals b.id

select new
{
b.id,
b.name
}

tbl不是已知的,也是经过查询出来的,从A表中查出表名,另需要用到entity framework和linq的结合查询。
如 using (var db = new MDatabase.Models.DBEntities())
{
     System.Linq.Expressions.Expression<Func<Models.A, bool>> query = q => q.state == 0;
  var  list=from a in db.A.Where(query)
           ......

//接下来怎么查询,欢迎指导新人!   
} --------------------编程问答--------------------

你自己写存储过程吧  
补充:.NET技术 ,  LINQ
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,