我有四张 table :
- Client with PK ClientID.
- Destination with PK DestinationID.
- Language with PK LanguageID.
- DestinationDetail with PK DestinationID.
- RL-Client-Destination with PKs ClientID and DestinationID.
客户端可能有零个或n个目的地。一个目的地有 n 个 DestinationDetails,每个 DestinationDetail 都有一种语言。
好的。我需要检索给定客户端和给定语言的所有 DestinationDetails。
我开始写这个:
try
{
ObjectQuery clientes =
guiaContext.Cliente;
ObjectQuery destinos =
guiaContext.Destino;
ObjectQuery idiomas =
guiaContext.Idioma;
ObjectQuery detalles =
guiaContext.DetalleDestino;
IQueryable detalleQuery =
from cliente in clientes
from destino in destinos
from idioma in idiomas
from detalleDestino in detalles
where destino.
select detalleDestino;
}
catch
{
}
}
有什么建议吗?
谢谢!
最佳答案
其大致思路是:
var detalleQuery =
from client in guiaContext.Clients
where client.ID == 1
from destination in cliente.Destinations
from destinationDetail in destination.DestionationDetails
where destinationDetail.Language.Iso2Code == "es"
select destinationDetail;
关于c# - LinQ 到实体 : Query with four tables JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/668821/