entity framework – 如何在辅助表中的非主键列上连接表?

我想使用entity framework加入2个表。 我希望第二个表的连接位于非主键列上。

例如,我有一个带有字段的表Foo

Foo.Id (PK) Foo.DbValue 

和桌子吧

 Bar.Id (PK) Bar.DbValue Bar.Description 

我想在DbValue字段中加入Foo到EF的Bar。

在hibernate / nhibernate中,可以通过向多对一添加列参数来实现此目的。 大致是这样的

     

如果有人知道如何在EF中这样做,请提前感谢。

那么你不能把它作为命名关系(即标准方式)。

所以这意味着这种关系不是模型的一部分。

但是,您仍然可以执行标准LINQ连接:

 from f in ctx.Foo join b in ctx.Bar on f.DbValue equals b.DbValue select new {f,b} 

希望这可以帮助

查看我的EF提示系列。