【发布时间】:2013-10-09 23:24:13
【问题描述】:
我有两个表 BIReport 和 tblFormat。我在我的项目中使用 linq to sql。
我想使用 linq to sql 获取数据,这将与以下查询相同。
Select A.*,B.* from Report A inner join tblFormat B on A.ReportId = B.SettingId.
使用上面的查询,它将从两个表中获取所有数据。那么如何使用 linq to sql 从两个表中接收所有数据。
更新:
<form id="form1" runat="server">
<div>
<asp:GridView ID="grddata" runat="server"></asp:GridView>
</div>
</form>
更新2:
我的查询:
var QInnerJoin1 = (from p in objtest.Reports
join p2 in objtest.tblFormats
on p.ReportId equals p2.SettingID
where p2 != null
select new { p, p2 }).ToList();
grddata.DataSource = QInnerJoin1;
grddata.DataBind();
我的错误和数据![在此处输入图片描述][2]
解决方案:
我为需要绑定到网格视图的属性创建了一个类:
public class TestLinqToSql
{
public int ReportId { get; set; }
public string ReportName { get; set; }
public string FormatName { get; set; }
}
然后我按照以下方式将我的 linq 更新为 sql:
List<TestLinqToSql> objList = (from p in objtest.Reports
join p2 in objtest.tblFormats
on p.ReportId equals p2.SettingID
where p2 != null
select new TestLinqToSql()
{
ReportId = p.ReportId,
ReportName = p.ReportName,
FormatName = p2.FormatName
}).ToList();
grddata.DataSource = objList1;
grddata.DataBind();
它对我有用。 谢谢。
【问题讨论】:
-
你能把你的gridview html放在你的问题中
-
嗨,Shekhar,我已经放了 gridview html。
-
你有没有检查过qtestt在绑定之前是否包含数据?
-
你里面好像没有数据
data source请检查你的查询结果中有没有数据。
标签: asp.net sql-server-2008 linq-to-sql