我有两个表位于两个独立的实体框架模型中,我想检索在两个表之间进行 JOIN 的数据。我正在使用实体框架 3.1。
是否可以检索在两个表之间进行 JOIN 的信息?
如果是,我应该使用“LINQ to Entities”还是“Entity SQL”?
我有两个表位于两个独立的实体框架模型中,我想检索在两个表之间进行 JOIN 的数据。我正在使用实体框架 3.1。
是否可以检索在两个表之间进行 JOIN 的信息?
如果是,我应该使用“LINQ to Entities”还是“Entity SQL”?
实体框架模型是数据库(存储)模型和类模型之间的映射。目前(如果有的话)一个 EF 模型无法读取另一个模型的映射信息。因此它无法将外星人类映射到表,更不用说创建涉及该表的 SQL。就 EF 而言,这些表可能位于两个完全不同的数据库中。
备择方案:
ToList()
。OrderId
的语句中使用的 s列表- 不切实际的示例,好的)。Contains
Orderline
据我所知,EF不会这样做。您不能使用来自多个域的实体创建单个表达式。当您请求结果的第一项时,它将失败。
您现在可能已经想通了,但这是我的解决方案:
var data = db.FirstEntity
.Join(db.SecondEntity, ent1 => ent1.ID, ent2 => ent2.ForeignKeyID,
(ent1, ent2) => new { LeftSideObject = ent1, RightSideObject = ent2 })
.Select(x => x.LeftSideObject);
我已经尽可能通用地命名变量,希望它有意义!