Asp.net mvc 使用asp.net和实体框架的多行
我正在使用asp.NETMVC和EntityFramework,在使用SubmitBotton时在表中插入多行时遇到问题。我的项目是一个简历,候选人可以有多个工作插入。我有一个外键链接的用户表和工作表。我的目标是在表单末尾保存时,同时插入具有相同用户ID的多个工作经验行 这是我的家庭控制器Asp.net mvc 使用asp.net和实体框架的多行,asp.net-mvc,entity-framework-4,Asp.net Mvc,Entity Framework 4,我正在使用asp.NETMVC和EntityFramework,在使用SubmitBotton时在表中插入多行时遇到问题。我的项目是一个简历,候选人可以有多个工作插入。我有一个外键链接的用户表和工作表。我的目标是在表单末尾保存时,同时插入具有相同用户ID的多个工作经验行 这是我的家庭控制器 [HttpGet] public ActionResult CreaCV() { using (MyDatabaseEntities dc = new
[HttpGet]
public ActionResult CreaCV()
{
using (MyDatabaseEntities dc = new MyDatabaseEntities())
{
return View();
}
}
[HttpPost]
public ActionResult CreaCV(User u, Works w)
{
bool status = false;
if (ModelState.IsValid)
{
using (MyDatabaseEntities dc = new MyDatabaseEntities())
{
if ((u.IdUser > 0) && (w.IdWork > 0))
{
// edit
dc.Users.Add(u);
dc.Works.Add(w);
var v = dc.Users.Where(a => a.IdUser == a.IdUser).FirstOrDefault();
var v2 = dc.Works.Where(a => a.IdWork == a.IdWork).FirstOrDefault();
if ((v != null) && (v2 != null))
{
v.name = u.name;
v.surname = u.surname;
v.nationality = u.nationality;
v.dateBirth = u.dateBirth;
v.profile = u.profile;
v.telephone = u.telephone;
v.email = u.email;
v2.dateFrom_ = w.dateFrom_;
v2.dateTill = w.dateTill;
v2.boss = w.boss;
v2.typeCompany = w.typeCompany;
v2.job = w.job;
}
}
else
{
// save
dc.Works.Add(w);
}
dc.SaveChanges();
status = true;
}
}
TempData["message"] = "REGISTRAZIONE AVVENUTA";
return RedirectToAction("CreaCV");
}
这是我的视图模型
<div class="container" id="section1">
<div class="row">
<div class="widget widget-gray">
<div class="widget-head">
<!-- TITOLO -->
<h4 class="heading"><i class="fa fa-briefcase"></i> ESPERIENZE LAVORATIVE </h4>
</div>
<div class="widget-body" id="widget-body3">
<div class="clearfix">
<div class="form-group">
<label class="col-md-4 control-label" for="f_name">Data</label>
<div class="col-md-3">
@Html.TextBoxFor(a => a.dateFrom_, new { @class = "form-control input-md", @id = "dateFrom", @name = "f_name", @type = "text", placeholder = "Dal", required = "inserisci la data" })
@Html.ValidationMessageFor(a => a.dateFrom_)
</div>
<div class="col-md-3">
@Html.TextBoxFor(a => a.dateTill, new { @class = "form-control input-md", @id = "dateTill", @name = "f_name", @type = "text", placeholder = "Al", required = "inserisci la data" })
@Html.ValidationMessageFor(a => a.dateTill)
</div>
<div class="col-md-10" style="height:5px">
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label" for="f_name">Datore di lavoro o azienda</label>
<div class="col-md-6">
@Html.TextBoxFor(a => a.boss, new { @class = "form-control input-md", @id = "boss", @name = "f_name", @type = "text", placeholder = "Nome del datore di lavoro o azienda", required = "inserisci il campo corrispondente" })
@Html.ValidationMessageFor(a => a.boss)
<div class="col-md-10" style="height:5px"></div>
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label" for="f_name">Tipo di azienda</label>
<div class="col-md-6">
@Html.TextBoxFor(a => a.typeCompany, new { @class = "form-control input-md", @id = "typeCompany", @name = "f_name", @type = "text", placeholder = "Inserisci il tipo di azienda", required = "inserisci il tipo di azienda" })
@Html.ValidationMessageFor(a => a.typeCompany)
<span class="help-block">Tipo di azienda</span>
<div class="col-md-10" style="height:20px"></div>
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label" for="f_name">Principali Mansioni</label>
<div class="col-md-6">
@Html.TextAreaFor(a => a.job, new { @class = "form-control", @id = "work", @rows = "5", @type = "text", placeholder = "tipo di lavoro" })
@Html.ValidationMessageFor(a => a.job)
<span class="help-block">Mansioni Svolte</span>
<!-- Bottone aggiunge un nuovo lavoro-->
<button type="button" class="addmoreWork btn btn-default" aria-hidden="true">
<span class="glyphicon glyphicon-plus"></span>
Aggiungi
</button>
<!-- Fine add new work-->
</div>
</div>
<div class="col-md-10" style="height:20px"></div>
<div class="newWork"><!-- div che appende nuovi lavori tramite la funzione bottoni.Aggiunta --></div>
</div>
</div>
<!-- FOOTER -->
<div class="widget-footer">
<a href="#" id="toggle3" class="fa fa-chevron-up fa-1x" data-toggle="tooltip" data-placement="right" title="" data-original-title=""><i></i></a>
</div>
</div>
</div>
</div>
爱斯佩林
资料
@Html.TextBoxFor(a=>a.dateFrom,新{@class=“form control input md”、@id=“dateFrom”、@name=“f_name”、@type=“text”、placeholder=“Dal”、required=“inserisci la data”})
@Html.ValidationMessageFor(a=>a.dateFrom)
@Html.TextBoxFor(a=>a.dateTill,新的{@class=“form control input md”、@id=“dateTill”、@name=“f_name”、@type=“text”、placeholder=“Al”、required=“inserisci la data”})
@Html.ValidationMessageFor(a=>a.dateTill)
达托雷迪拉沃罗阿齐恩达酒店
@Html.TextBoxFor(a=>a.boss,新{@class=“form control input md”、@id=“boss”、@name=“f_name”、@type=“text”、placeholder=“Nome del datore di lavoro o azienda”,required=“inserisci il campo correspondente”})
@Html.ValidationMessageFor(a=>a.boss)
蒂波迪阿齐恩达
@Html.TextBoxFor(a=>a.typeCompany,新{@class=“form control input md”、@id=“typeCompany”、@name=“f_name”、@type=“text”、placeholder=“Inserisci il tipo di azienda”,required=“Inserisci tipo di azienda”})
@Html.ValidationMessageFor(a=>a.typeCompany)
蒂波迪阿齐恩达
曼西奥尼公国
@text区域(a=>a.job,新的{@class=“form control”、@id=“work”、@rows=“5”、@type=“text”、placeholder=“tipo di lavoro”})
@Html.ValidationMessageFor(a=>a.job)
曼西奥尼斯沃尔特酒店
阿吉翁吉
这是我的模型
namespace MVCEmployees.Models
{
using System;
using System.Collections.Generic;
public partial class Works
{
public int IdWork { get; set; }
public string dateFrom_ { get; set; }
public string dateTill { get; set; }
public string boss { get; set; }
public string typeCompany { get; set; }
public string job { get; set; }
public List<Works> lavoratori { get; set;}
public int fk_Users { get; set; }
public virtual User Users { get; set; }
}
}
namespace MVCEmployees.Models
{
使用制度;
使用System.Collections.Generic;
公共部分类工程
{
公共整数IdWork{get;set;}
公共字符串dateFrom{get;set;}
公共字符串dateTill{get;set;}
公共字符串boss{get;set;}
公共字符串typeCompany{get;set;}
公共字符串作业{get;set;}
公共列表lavorati{get;set;}
公共int fk_用户{get;set;}
公共虚拟用户{get;set;}
}
}
我曾尝试使用foreach,但遇到了一些问题,只需插入第一条记录。我不理解您的代码,但可能可以帮助您。我的项目是一份简历,您必须在其中插入工作经验。在我的模型上,我已经插入了不同的输入字段,但当我用提交值单击我的保存按钮时,它只保存第一条记录。可能问题是主控制器导致只保存一个对象。Idk