Stworzyłem lazurową usługę mobilną, która zasadniczo składa się z 2 elementów i 2 kontrolerów TableController. Obie te jednostki mają relację 1: 1.Tworzenie jednostki z odniesieniem do innej jednostki w usłudze mobilnej w kolorze błękitnym
public class Entity1 : EntityData
{
public int Value { get; set; }
public DateTime Date { get; set; }
public string Name { get; set; }
public virtual Entity2 Reference { get; set; }
}
public class Entity2 : EntityData
{
public string Name { get; set; }
}
Sterowniki są standardowymi kontrolerami generowanymi na rusztowaniach. Kiedy jestem próby wstawienia instancji entity1 z odniesieniem do istniejącej już entity2 pojawia się następujący komunikat:
{"$id":"1","message":"The operation failed due to a conflict: 'Violation of
PRIMARY KEY constraint 'PK_Service.Entity2'. Cannot insert
duplicate key in object 'Service.Entity2'. The duplicate key
value is (32aec44a282e42b7bc51096052335dad).\r\nThe statement has been
terminated.'."}
użyłem następujące JSON w organizmie żądanie:
{
"value": 1,
"date": "2015-04-27T06:51:47.641Z",
"name": "name",
"project": {
"id": "32aec44a282e42b7bc51096052335dad",
}
}
Is It można użyć istniejącej już jednostki jako odwołania w .NET Code First/Azure Mobile Service? Nie jestem do końca pewien, czy jest to więcej problemu związanego z usługą mobilną w wersji EF CodeFirst lub Lazur.
Dzięki.
tak, to wiesz, jeśli jest to to samo dla aktualizacji? Pojawia się ten sam problem z aktualizacją/aktualizacją, gdy obiekt zawiera powiązane dane. Mam profil, który ma kolekcję numerów telefonów. Kiedy aktualizuję profil na urządzeniu mobilnym i wprowadzam zmiany na lazurowy, pojawia się ten sam konflikt 409, mówiąc, że nie mogę wstawić numerów telefonów, ponieważ one już istnieją. Dlaczego próbuje wstawić powiązane dane do aktualizacji/poprawki? Co mogę zmienić, aby temu zapobiec? – jmichas