Обработайте отношения один-ко-многим в Linq, используя Entity Framework - PullRequest
0 голосов
/ 24 января 2012

У меня есть таблица с именем Direccion, другая с именем Cliente, каждая из которых определена следующим образом

public class Direccion
{   
    public short IdDireccion { get; set; }
    public short IdCliente { get; set; }
    public string Descripcion{ get; set; }
    public virtual ICollection<Cliente> Cliente { get; set; }
}

public class Cliente
{
    public short IdCliente { get; set; }
    public string Descripcion { get; set; }
}

Теперь я хочу выполнить запрос с таким выводом, генерируя анонимный тип

id            <----could be idCliente or idDireccion
Descripcion   <----could be the description of cliente or Direccion
idFK          <---- the id of direccion related with cliente

Но у меня начинаются проблемы при переходе от Direccion к Cliente, потому что отношение дает мне коллекцию, и я не знаю, как сделать выражение для обработки коллекции к типу, который я ожидаю что Cliente

Это моя неудачная попытка:

var x= (from d in Direccion
where d.Activo == true select d.Cliente).Select( x => new { x.IdCliente })

var x = (from d in db.Direccion
                     where d.Activo == true
                     select d).AsQueryable().Select(xx => new { d.IdCliente });

1 Ответ

3 голосов
/ 24 января 2012

Попробуйте метод SelectMany:

var x = from d in db.Direccion
        where d.Activo == true
        from c in d.Cliente
        select new 
        { c.IdCliente,
          c.Descripcion };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...