Sono rimasto bloccato per un po 'e non riesco a capirlo. Apprezzo qualsiasi aiuto!ASP.NET WebAPI 2 Nested JSON
Questo è il mio modello: http://www.jsoneditoronline.org/?id=9ee3466c40627f33c284e63544c8b8a7
ho gli oggetti C# corretta messa in questo modo:
public class Media
{
public string name { get; set; }
public string title { get; set; }
public string album { get; set; }
public string artist { get; set; }
public string length { get; set; }
public int bitrate { get; set; }
public double size { get; set; }
public string start_time { get; set; }
public string mimetype { get; set; }
public string hash { get; set; }
}
public class Playlist
{
public string name { get; set; }
public List<Media> media { get; set; }
public List<Graphics> graphics { get; set; }
public bool shuffle { get; set; }
public int volume { get; set; }
public string start_time { get; set; }
public string end_time { get; set; }
}
public class Day
{
public string name { get; set; }
public List<Playlist> playlists { get; set; }
}
public class Schedule
{
public List<Day> days { get; set; }
public string hash { get; set; }
}
ho bisogno di tutta questa POST
JSON oggetto direttamente dal controller MVC. In altre occasioni mi piacerebbe PUT
il programma. Come posso gestirlo correttamente? Gli esempi potrebbero davvero aiutare.
Grazie!
sto già facendo il sotto per POST
:
var schedule = JsonConvert.DeserializeObject<Schedule>(model.ToString());
Questo funziona come previsto tuttavia, a volte legati Media
oggetti già presenti nel database e sta causando un errore interno del server quando si cerca di INSERT
il stesso oggetto Media
(che già esiste) - [Key]
per Media
è la proprietà hash
.
Per quanto posso capire il tuo problema reale non ha nulla a che fare con MVC o JSON. Hai bisogno di aiuto per evitare errori di violazione della chiave primaria. È corretto? –
@KosalaW Sort of yeah, cambiando la chiave primaria in un 'int id' lo risolve. Ma ricreato di nuovo lo stesso oggetto 'Media' nel database. Non voglio duplicati quando ho già l'oggetto ... – user1027620
Quindi, prima di inserire 'Media' nella tua tabella, devi controllare se questo' Media' esiste già nella tabella. Se lo fa, aggiornalo, altrimenti inserisci. –