Я пытаюсь сохранить коллекции с общими данными частей для всех и разные части для каждой коллекции. Я написал жестко запрограммированный способ сохранить одну коллекцию, и я не знаю, как я могу сделать это для нескольких коллекций. Вот что у меня есть:
Контроллер:
[HttpPost]
public ActionResult MakeComplaint(CommonData model)
{
if (ModelState.IsValid)
{
model.CreateComplaint();
return RedirectToAction("Index");
}
}
Модель:
public class CommonData
{
public string Data1 { get; set; }
public string Data2 { get; set; }
public List<DifferentData> Differents { get; set; }
SecondModel DataContainer()
{ //help needed here
SecondModel tmp = new SecondModel();
tmp.ID = Differents[0].ID; //how can I change it to save more collections?
tmp.Name = Differents[0].Name;
tmp.Data1 = Data1;
tmp.Data2 = Data2;
return tmp;
}
public int CreateComplaint()
{
var complaint = DataContainer();
db.AddComplaint(complaint);
db.Save();
}
}
public class DifferentData
{
public int ID { get; set; }
public string Name { get; set; }
}
Как должен выглядеть мой DataContainer()
для обработки Differents[1]
иподробнее?
РЕДАКТИРОВАТЬ: My DataContainer()
в настоящее время список объектов, поэтому 1 проблема решена
List<SecondModel> DataContainer()
{
var listOfComplaints = new List<SecondModel>;
for(int i = 0; i<Differents.Count; i++){
SecondModel tmp = new SecondModel();
tmp.ID = Differents[i].ID;
tmp.Name = Differents[i].Name;
tmp.Data1 = Data1;
tmp.Data2 = Data2;
listOfComplaints.Add(tmp)
}
return listOfComplanints;
}
EDIT2: Рабочее решение:
public void AddComplaint(List<SecondModel> model){
db.SecondModels.InsertAllOnSubmit(model) //saving multiple objects
}