asp.net - 我如何使用 ASP linq gridview 从一个表中的两个外键读取不同的数据名称
问题描述
我正在使用 ASP 和 SQL Server。
场景:我在数据库中的一个表中有两次外键是使用的特定表。
问题:当我想在 ASP GridView 中显示通过 linq 在这些外键上输入的不同数据时,它会为不同的值显示相同的数据。
示例: 我的第一个名为“Table_1”的表包含两个数据:
id2=书,id4=学生
我还有第二个名为“foreignKeys”的表,其中包含如下数据:
问题:我如何使用 linq gridview 从“foreignKeys”读取不同的数据名称(书籍和学生)?
我的 HTML 代码:
<asp:GridView ID="gvDeFrm" runat="server" AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="linq">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Book"></asp:BoundField>
<asp:BoundField DataField="Name" HeaderText="Student"></asp:BoundField>
</Columns>
</asp:GridView>
我的背后代码:
protected void linq_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
e.Result = (from f in db.foreignkey
select new
{
f.userId,
f.Table_1.Name
}
).ToList();
}
感谢您之前的关注。
解决方案
你只需要有两个 from 子句而不是一个。给每个人一个不同的别名,并确保每个人都有一个 where 子句来指定什么连接到什么。
目前,外键只有一个 from 子句。
看一下上一个问题的解决方案:c# Linq Join same table two
它足够相似,应该可以满足您的需求。
推荐阅读
- r - R中的密度直方图
- python - 如何从终端的本地计算机文件夹在虚拟环境 Python(Windows 7)中安装 Django?
- gruntjs - 应该使用哪个大厅资源来执行 grunt 命令
- angular - 角度,无法到达对象数组内容
- python - Anaconda3 Pythonw.exe Ordinal 242 无法位于动态链接库 libiomp5md.dll 中
- android - 安装失败,原因是:''cmd package install-create -r -t --full -S 485440429'返回错误'未知故障:执行时发生异常
- python - 从 for 循环写入文件
- javascript - 不直接使用时如何在包中包含导入的类
- c - 递归 POW:警告:控制可能到达非空函数的结尾
- reactjs - antd中拖动一行时如何改变拖动动画?