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