3 个相关的实体表

本文关键字:实体 | 更新日期: 2023-09-27 18:33:51

是否可以使用实体数据源将 3 个实体相关表中的数据显示到 Gridview?可能吗?

例如:

货币表

ID - 1
NAME - JPY

售票表

ID - 1
NameId - 2
Time - 08:00AM

用户表

ID - 2
CurrencyID - 1
Name - JESSY

我想在网格视图中显示它:

JESSY JPY 8:00AM

可能吗?

3 个相关的实体表

您可以通过加入来实现。连接后将连接的结果集放在容器上,并将该容器与网格绑定

在您的所有表中,一列是常见的,它是 ID - 1

 var result=from p in User  
join q in Ticket on p.ID equals q.ID
join r in Currency on p.ID equals r.ID
select new {p.name,r.Name,q.Time}//Here you can get any column of ralated three tables

网 格。数据源=结果

希望上面的语法,会给你一些想法。如何解决您的问题。

您可以选择用户并获取关联货币实体的名称和关联票证实体的时间。只要设置了外键和关联,就可以使用导航属性并创建如下所示的匿名对象。然后,将结果放入网格视图中。

var results = Users.Select(x => 
       new { 
              Name = x.name, 
              Currency = x.Currency.Name, 
              Time = x.Ticket.Time 
       }).ToList();