gpt4 book ai didi

c# - 如何将包含一些公共(public)数据的多个集合保存到数据库?

转载 作者:搜寻专家 更新时间:2023-10-30 23:25:49 26 4
gpt4 key购买 nike

我正在尝试保存所有集合的部分公共(public)数据和每个集合的不同部分的集合。我写了硬编码的方式来保存一个集合,但我不知道如何为多个集合做这件事。所以这就是我所拥有的:

Controller :

[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] 等等?

编辑:我的 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;
}

编辑 2:工作解决方案:

public void AddComplaint(List<SecondModel> model){
db.SecondModels.InsertAllOnSubmit(model) //saving multiple objects
}

最佳答案

通常您会从页面中获取新模型。不是作为 DataContainer,而是作为 SecondModel 或其他特定模型。您的 DataContainer 和 CommonData 中的嵌套类可能会增加混淆。实际上,您可以删除所有这些,并直接从您的 Controller 中使用您在 AddComplaint 中的代码,如下所示:

[HttpPost]
public ActionResult MakeComplaint(SecondModel model)
{
if (ModelState.IsValid)
{
db.SecondModels.InsertOnSubmit(model)
return RedirectToAction("Index");
}
}

然后对另一个模型做类似的事情:


[HttpPost]
public ActionResult MakeSomethingElse(ThirdModel model)
{
if (ModelState.IsValid)
{
db.ThirdModels.InsertOnSubmit(model)
return RedirectToAction("Index");
}
}

关于c# - 如何将包含一些公共(public)数据的多个集合保存到数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58162681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com