我发现很难找到有关此问题的任何信息,因此我特此询问。
我想使用 JayData 实体 API 创建一个新的“连接”。一个连接有 2 个设备端口,均与设备和端口链接。所以:
Connection(Sender: DevicePort(Device, Port), Receiver: DevicePort(Device, Port))
我已经有 2 个 DevicePort(id:1 和 2)
我想与发送者和接收者创建一个新的连接。所以我这样做:
var devPort1 = previouslyFetchedDevicePortEntity1;
var devPort2 = previouslyFetchedDevicePortEntity2;
var con = DataLayer.context.ConnectionSet.add({ Sender: devPort1, Receiver: devPort2 });
DataLayer.context.saveChanges();
这正在工作,并且新的连接已添加到数据库中。但也有新的设备端口、新的设备和新的端口。它似乎克隆了以前的 DevicePorts 等,但我想要一个新的连接,其具有与我作为参数提供的相同的 DevicePorts。
最佳答案
我认为缺少以下两行来初始化先前加载的项目的entitySet:
DataLayer.context.Ports.attach(devPort1);
DataLayer.context.Ports.attach(devPort2);
我只是假设您有一个用于端口实体的 EntitySet,请在此处替换您的集的名称。
这能解决问题吗?
关于javascript - JayData 创建对象未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15063674/