2013-02-25 3 views
0

나는 이것에 대한 정보를 찾기가 매우 어려워서 저는 그것을 요구하고 있습니다.JayData가 예상대로 작동하지 않는 개체를 만듭니다.

JayData Entity API로 새로운 "연결"을 만들고 싶습니다. Connection에는 장치 및 포트와 연결된 두 개의 DevicePorts가 있습니다. 그래서 :

Connection(Sender: DevicePort(Device, Port), Receiver: DevicePort(Device, Port)) 

이미 2 DevicePorts이 (IDS : 1, 2)

내가 보낸 사람과받는 사람으로 그와의 새로운 연결을 생성 할

. 그래서 나는 이것을한다 :

var devPort1 = previouslyFetchedDevicePortEntity1; 
var devPort2 = previouslyFetchedDevicePortEntity2; 
var con = DataLayer.context.ConnectionSet.add({ Sender: devPort1, Receiver: devPort2 }); 
DataLayer.context.saveChanges(); 

이것은 작동하고 새로운 Connection이 데이터베이스에 추가된다. 그러나 새로운 DevicePorts, 새로운 장치 및 새 포트도 있습니다. 이전 DevicePorts 등을 복제하는 것처럼 보이지만 매개 변수로 지정한 동일한 DevicePorts로 새 Connection을 원합니다.

답변

2

나는 다음과 같은 2 선이 이전에로드 된 항목의 entitySet를 초기화 누락 생각 :

DataLayer.context.Ports.attach(devPort1); 
DataLayer.context.Ports.attach(devPort2); 

난 그냥 당신이 포트 엔터티에 대한 EntitySet가 있다고 가정은, 여기 세트의 이름을 대체합니다.

이 문제가 해결 되었습니까?

+0

안녕하세요. 이 작동합니다. dev 포트를 장치와 포트뿐만 아니라 dev 포트에도 연결해야합니다. 이렇게 :'DataLayer.context.DevicePortSet.attach (sender); DataLayer.context.DevicePortSet.attach (receiver); DataLayer.context.DeviceSet.attach (sender.Device); DataLayer.context.DeviceSet.attach (receiver.Device); DataLayer.context.PortSet.attach (sender.Port); DataLayer.context.PortSet.attach (receiver.Port); ' 더 효율적/깨끗하게 만들 수 있습니까? – HansElsen

+0

nevermind dev 포트를 가져 왔을 때 포트와 장치가 포함되어있는 것을 보았습니다. 그런 식으로 새로운 연결에서 사용할 때 첨부해야했습니다. – HansElsen