Asp.net mvc 使用asp.net和实体框架的多行

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

我正在使用asp.NETMVC和EntityFramework,在使用SubmitBotton时在表中插入多行时遇到问题。我的项目是一个简历,候选人可以有多个工作插入。我有一个外键链接的用户表和工作表。我的目标是在表单末尾保存时,同时插入具有相同用户ID的多个工作经验行

这是我的家庭控制器

[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