Doctrine Join条件类型中WITH和ON有什么区别?

时间:2014-09-29 14:08:36

标签: php doctrine-orm doctrine

我正在寻找关于理论条款的WITH和ON条件类型之间差异的更好解释。

我找到关于这个非常贫穷的文件,我仍然有疑问。

2 个答案:

答案 0 :(得分:8)

在我看来,这是教义1的遗留问题。

当时ON用于重新定义关系的连接条件,而WITH用于向默认连接条件添加更多连接条件。

现在在学说2中我从未见过可以使用ON的情况。事实上,使用ON总是会出现异常,说您应该使用WITH

现在WITH可用于将连接条件添加到关系中定义的默认条件,或者,如果两个实体之间不存在关系,则定义连接条件。

答案 1 :(得分:1)

使用 var dataAccess = Assembly.GetExecutingAssembly(); builder.RegisterAssemblyTypes(dataAccess) .Where(t => t.Name.EndsWith("Repository")) .AsImplementedInterfaces(); 条件类型需要在连接实体之间建立关系。
ON可以在实体之间不存在关系的情况下使用,但是我们应该使用join的另一端来满足一些条件。
在某些情况下,WITHON 条件类型是可能的,我认为 WITH 的解释速度更快,几乎由 DBMS 执行。