如何在EF Core中应用条件连接?

时间:2019-01-16 03:07:08

标签: ef-core-2.1

假设我有一个表ContactsCustomersSuppliers联系人具有一列ContactTypeIdExternalContactId。因此,您可能会遇到以下任何一种情况:

var extContacts = from ct in _context.Contacts
                  join cu in _context.Customers
                  on ct.ExternalContactId equals cu.Id

或者我也可以拥有这个

var extContacts = from ct in _context.Contacts
                  join su in _context.Suppliers
                  on ct.ExternalContactId equals su.Id

在这里,我仅显示了2个联接来说明我的观点。就我而言,我有5张桌子。

有什么办法,我只能打一个电话,根据ContactTypeId加入Contacts表吗?否则,我可能必须拨打多个电话(最多5个)。

类似的东西:

var extContacts = from ct in _context.Contacts
                  join (
                         //if type is Customer --> Join with Customers table
                         //if type is supplier --> join with Suppliers table
                       )
                  select name, phone, address //fields common to both tables

感谢您的帮助

0 个答案:

没有答案