我正在使用 PHP OData sdk (odata.org) 并尝试在新对象和两个现有对象之间添加链接:
//Add a new object to the database. Pass in objects $v and $o.
public function addB($v,$o) {
//Create a new object
$b = new B();
$b->V = $v;
$b->O = $o;
//Add a link between my objects
$proxy->AddLink($b, 'V', $v);
$proxy->AddLink($b, 'O', $o);
$proxy->SaveChanges();
}
使用 odata.org 网站上的生成说明生成代理类等。
我收到以下异常消息:
The context is not currently tracking the entity.
翻译为代理类没有对对象的引用$v
或$o
存储在任何地方。将对象添加到代理类的引用的一种方法是:
$proxy->AddToVCollection($v);
除非我这样做并尝试保存,否则我会遇到主键冲突,因为它会尝试将$v
对象保存为新条目。
那么,如何让我的代理类跟踪我的对象$v
,$o
所以当我这样做时,$proxy->AddLink($b, 'V', $v);
我没有得到上述异常?