[英]Select data from multiple unrelated tables with LINQ to Entity Framework
[英]Select from multiple tables using Entity Framework
我正在使用实体框架。 我想从没有外键关系的数据库中的多个表中选择数据
select
tOut.columnId, wo.columnType, tIn.*
from
TbaleA tIn,
TableB tOut,
TableC wo
where
1 = 1
and tIn.columnRefId = tOut.columnGuid
and tOut.columnId = wo.columnId
实体框架中是否有解决方案? 我已经尝试通过使用include语法对其不起作用..
如果使用查询语法,即使不存在任何外键关系,也可以联接表。 遵循以下思路:
var result = from tIn in yourDbContext.TableA
join tOut in yourDbContext.TableB on tIn.columnRefId equals tOut.columnGuid
join wo in yourDbContext.TableC on tOut.columnId equals wo.columnId
select new { tOut.columnId, wo.columnType, TableA = tIn };
另一种解决方案是对类使用/添加导航属性,例如:
class TableA {
Int32 Id {get; set;}
//navigation property
TableB b {get; set;}
}
并在查询中使用它们
from a in yourDbContext.TableA
select new { a.Id, a.b.columnType}
当然,可能需要一些配置(代码或注释)来设置关系以使其适合数据库架构。 但是您将一次而不是对每个查询都这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.