我在ADO.NET Entity Framework上有一个简单的LINQ查询,如下所示
var result =
from itemA in TableA
join itemB in TableB on itemA.ID = itemB.ID
select ??????
我正在尝试从itemA
和itemB
中选择所有内容,而不指定所有TableA
和TableB
。
任何想法???
答案 0 :(得分:6)
这是你需要的吗?
var result = from itemA in TableA
join itemB in TableB on itemA.ID equals itemB.ID
select new { itemA, itemB };
或者,您可以声明一个结果类,帮助您构建结果对象而不指定所有字段:
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);
答案 1 :(得分:2)
从您的链接查询看起来您有2个表与一对一的关系。
如果是这样,那么执行此操作的方法是配置实体模型,以便将两个表合并为一个实体。详情请见: