Linq 到实体使用关系的表填充网格视图

本文关键字:填充 网格 视图 关系 实体 Linq | 更新日期: 2023-09-27 18:32:28

我有3张桌子客户,客户票,票证

Customer-->ID primary key
CustomerTicket-->ID,TicketNo where ID,TicketNo are foreign-key
Ticket-->TicketNo,Subject where TicketNo primary key

我正在使用linq到实体,并希望显示这样的列,

ID TicketNo Subject
1  12        Car
1  18       Home
2  23       Plane

每个唯一 ID 可以有多个票号,每个票号都有一个唯一的主题

Gridview.DataSource=from customer in entity.Customer 
join custicket in entity.CustomerTicket on customer.ID equals custicket.ID .....

尝试了上述代码,但最终无法理解如何按照我想要的方式制作表格。代码将如何继续,或者有更好的方法吗?另请注意,实体框架采用了我的客户票证表并将其添加为导航属性...

Linq 到实体使用关系的表填充网格视图

执行联接,使用 select 创建匿名集合,使用集合创建绑定数据源并设置数据源

var cusList=from customer in entity.Customer 
join custicket in entity.CustomerTicket on customer.ID equals custicket.ID  
select new  
{
  custicket.ID, 
  custicket.ticketno, 
  ticket.subject
};
var bs = new BindingSource();
bs.DataSource=cusList;
Gridview.DataSource=bs;