C # + LINQ + ADO.NET EF, une 2 tablas y devuelve todo sin especificar todos los campos manualmente

ado.net c# entity-framework linq

Pregunta

Tengo una consulta LINQ simple en ADO.NET Entity Framework de la siguiente manera

var result = 
  from itemA in TableA
  join itemB in TableB on itemA.ID = itemB.ID
  select ??????

Estoy tratando de seleccionar todo desde el itemA y el artículo itemB sin especificar toda la TableA y la TableB .

nada pensamientos ???

Respuesta aceptada

¿Esto es lo que necesitas?

    var result = from itemA in TableA 
                 join itemB in TableB on itemA.ID equals itemB.ID
                 select new { itemA, itemB };

Alternativamente, podría declarar una clase de resultado que lo ayude a construir el objeto de resultado sin especificar todos los campos:

    class ItemAB
    {
        public ItemAB(ItemA a, ItemB b)
        {
            FieldA1 = a.FieldA1;
            FieldA2 = a.FieldA2;
            FieldB1 = b.FieldB1;
            FieldB2 = b.FieldB2;

        }
        public int FieldA1 { get; private set; }
        public int FieldA2 { get; private set; }
        public int FieldB1 { get; private set; }
        public int FieldB2 { get; private set; }
    }

    var result = from itemA in TableA 
                 join itemB in TableB on itemA.ID equals itemB.ID
                 select new ItemAB(itemA, itemB);

Respuesta popular

Desde su consulta de enlace parece que tiene 2 tablas con una relación de uno a uno.

Si es así, la forma de hacerlo es configurar su modelo de entidad de modo que dos tablas se fusionen en una entidad. Para más detalles ver:

http://blogs.msdn.com/simonince/archive/2009/03/23/mapping-two-tables-to-one-entity-in-the-entity-framework.aspx



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué