我在ado.net实体框架上有一个简单的linq查询,如下所示

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

我试图从itemAitemB中选择所有内容,而不指定所有的TableATableB
有什么想法吗???

最佳答案

这是你需要的吗?

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

或者,可以声明一个result类,该类帮助您构建result对象,而无需指定所有字段:
    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);

10-06 07:10