我发现很难找到任何关于这方面的信息,所以我在so.上询问了它
我想用JayData实体API创建一个新的"连接"。一个连接有2个设备端口,都与一个设备和一个端口相连。所以:
Connection(Sender: DevicePort(Device, Port), Receiver: DevicePort(Device, Port))
我已经有2个设备端口(ID:1和2(
我想创建一个新的连接,将它们作为发送方和接收方。所以我这样做:
var devPort1 = previouslyFetchedDevicePortEntity1;
var devPort2 = previouslyFetchedDevicePortEntity2;
var con = DataLayer.context.ConnectionSet.add({ Sender: devPort1, Receiver: devPort2 });
DataLayer.context.saveChanges();
这是有效的,并且一个新的连接被添加到数据库中。但也有新的设备端口、新的设备和新的端口。它似乎是在克隆以前的DevicePorts等,但我想要一个新的连接,它与我作为参数提供的DevicePort相同。
我认为缺少以下2行来初始化先前加载项的entitySet:
DataLayer.context.Ports.attach(devPort1);
DataLayer.context.Ports.attach(devPort2);
我只是假设您有一个用于Port实体的EntitySet,请在此处替换集合的名称。
这能解决问题吗?