mvc主表和子表同时保存数据到数据库的方法

以下路径是一个升级版本

https://blog.csdn.net/weixin_42206447/article/details/89599085

 

1.创建MVC项目

2.在models文件夹上右键点击添加新建项目ADO.NET实体数据模型,

3.需要在实体模型实体类的方法里修改一下

 

    public partial class AreaTable  //第一张表的实体类

    {
        public string ID { get; set; }
        public string Area { get; set; }
        public List Article { get; set; }   //(明细表的集合)

    }

    public partial class SurnameTable  //第二张表的实体类 (明细表)
    {
        public string ID { get; set; }
        public string AreaID { get; set; }
        public string Name { get; set; }
        public string Sex { get; set; }

    }

4.创建HOME控制器

 public ActionResult Index()
        {
            var articleList = new List() { new SurnameTable() { ID = "", Name = "", Sex = "" } };
            var blog = new AreaTable() { ID = "", Area = "", Article = articleList };
            return View(blog);
        }
        public ActionResult Test(AreaTable b)
        {
            if (b.ID !=null) {
            for (int i = 0; i < b.Article.Count; i++)
            {
                if (b.Article[i].ID != null) { 
                SurnameTable surnameTable = new SurnameTable(); //实力化明细表
                surnameTable.ID = b.Article[i].ID;
                surnameTable.Name = b.Article[i].Name;
                surnameTable.AreaID = b.ID;
                surnameTable.Sex = b.Article[i].Sex;
                showTimeEntities.SurnameTables.Add(surnameTable);
                }
            }
            AreaTable AreaTable = new AreaTable();
            AreaTable.ID = b.ID;
            AreaTable.Area = b.Area;
            showTimeEntities.AreaTables.Add(AreaTable);
            showTimeEntities.SaveChanges();
           }
            var blog = new AreaTable();
            blog.ID = b.ID;
            blog.Area=b.Area;
            blog.Article = b.Article;
            return View("Index", blog);

        }

5.生成Home文件夹下的Index视图

@using MvcApplication3.Models
@model AreaTable
@{
    Layout = null;
}






   

       

            ID:
           

            名称:

       

       

           
       

       



       

           
               
                   
                   
                   
               
                @{
                    if (Model.Article != null)
                    {
                        var j = 0;
                        for (var i = 0; i < Model.Article.Count; i++)
                        {
                           
                               
                               
                               
                               
                           
                        }
                    }
                    else
                    {
                        var j = 0;
                        for (var i = 0; i < 3; i++)
                        {
                           
                                @*  
                           
                            *@
                           
                        }
                    }
                }
           
序号姓名性别
@(++j)@Html.TextBoxFor(a => a.Article[i].ID, new { @class = "form-control" })@Html.TextBoxFor(a => a.Article[i].Name, new { @class = "form-control" })@Html.TextBoxFor(a => a.Article[i].Sex, new { @class = "form-control" })
@(++j)

       

       

           
       

   

你可能感兴趣的:(MVC,js)