codegrid
codegrid

Reputation: 1007

Select Into Multiple Object with LINQ

I want to know, how to achieve this using LINQ:

Object:

 public class ObjView
    {
      public A aObj { get; set; }
      Public B bObj { get; set; }
    }

Query:

var query = from a in A
            join b in B on a.B_Id equals b.B_Id 
            select new ObjView(){
            aObject.Item1 = a.Item1,
            aObject.Item2 = a.Item2,
            bObject.Item1 = b.Item1,
            bObject.Item2 = b.Item2,
            };

Upvotes: 0

Views: 744

Answers (1)

Marco Salerno
Marco Salerno

Reputation: 5201

Is this what you wanted to achieve?

class Program
{
    static void Main(string[] args)
    {
        List<ObjA> objAs = new List<ObjA>();
        List<ObjB> objBs = new List<ObjB>();

        var query = (from a in objAs
                     join b in objBs on a.ID equals b.ID
                     select new ObjView()
                     {
                         ObjA = new ObjA()
                         {
                             Item1 = a.Item1,
                             Item2 = a.Item2
                         },
                         ObjB = new ObjB()
                         {
                             Item1 = b.Item1,
                             Item2 = b.Item2
                         }
                     });
    }
}

public class ObjA
{
    public int ID { get; set; }
    public Object Item1 { get; set; }
    public Object Item2 { get; set; }
}

public class ObjB
{
    public int ID { get; set; }
    public Object Item1 { get; set; }
    public Object Item2 { get; set; }
}

public class ObjView
{
    public ObjA ObjA { get; set; }
    public ObjB ObjB { get; set; }
}

Upvotes: 1

Related Questions