LinQ to Entities: запрос с четырьмя таблицами - PullRequest
2 голосов
/ 21 марта 2009

У меня есть четыре таблицы:

- 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 имеет язык.

Ok. Мне нужно получить все DestinationDetails для данного клиента и данного языка.

Я начинаю писать это:

</p> <pre> 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 { } }

Любой совет?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 21 марта 2009

Это по линии:

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;
1 голос
/ 21 марта 2009

Вы пробовали делать соединения linq:

Выбор из нескольких таблиц с использованием LINQ

0 голосов
/ 21 марта 2009

Мой ответ:


var db = new PracticeEntities();
            var destinations = db.DestinationDetails.
                Where(dd => dd.Language.Lang == "en-US" &&
                dd.Destination.Client.Any(c => c.Email == "abc@yahoo.com"));


Спасибо! * * 1004

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...