Хорошо, я пытался найти лучший способ сделать это в течение нескольких дней, но до сих пор не нашел очень элегантного ответа, поэтому надеюсь, что кто-то может указать мне правильное направление или дать некоторыерецензирование:)
В основном у меня есть 3 класса (они отличаются и намного более сложны, чем эти):
public class Person
{
int ID { get; set;}
string Name { get; set; }
virtual IEnumerable<Place> { get; set; }
}
public class Place
{
int ID { get; set;}
string Name { get; set; }
virtual IEnumerable<Thing> { get; set; }
}
public class Thing
{
int ID { get; set;}
string Name { get; set; }
virtual IEnumerable<Place> { get; set; }
virtual int PersonID { get; set; }
}
Итак, в основном у вас есть Person
с, у которых много Place
s, которые могут иметь много Thing
s, которые также могут появляться в нескольких Places
(пытаясь уменьшить необходимость хранить дубликаты Thing
s), но только для этого Person
Что такоелучший способ настроить мой ViewModel, чтобы справиться с этим?Должен ли я просто создать все сам по себе, используя Ajax и Json (что я делал), или есть способ обработать этот тип отношений в ViewModel и отправить сообщение обратно на сервер?
В настоящее время я 'я делаю следующее:
Заполните Person
форму -> AJAX сохранить на сервере, получите Person ID
Заполните Place
форму (включая Person
* ID
) -> ajax сохранить на сервере, получить Place ID
Заполнить Thing
форму (включая Person ID
и Place ID
s в строке с разделителями
Я знаю, что должно бытьболее простой способ сделать это довольно громоздким, но так как в нем вся строка запроса, я не могу понять это