循环新增数据

在项目的过程中,往往我们会遇到需要同时新增一条或多条的数据的问题,这时我们该如何去解决呢?这时我们就可以用到for循环,或者foreach循环,下面是我做一个订单流程的一些新增数据的过程,因为是生成订单,所以呢?会新增到不同的数据。比如,有的表只需要新增一条数据,而有的表需要新增多条数据。而我是这样处理的。

首先,要理解好新增表数据的顺序。(比如,A表里面有B表的id,而你A表新增需要B表的id时,它就会报错,因为你根本就没有B表的id),再着就是先新增需要新增一条的数据,在把多数据新增,通过循环新增就可以了。下面是我的一个新增订单流程中的一些代码: var DrawerdType = (from tbDrawerdType in myModel.PW_DrawerdType

                                                   where tbDrawerdType.DrawerdType == "待出票"

                                                   select tbDrawerdType.DrawerdType_id).Single();

                                SYS_Drawerd Drawerd = new SYS_Drawerd();

                                Drawerd.DrawerdType_id = DrawerdType;

                                Drawerd.OrderList_id = OrderList.OrderList_id;

                                myModel.SYS_Drawerd.Add(Drawerd);

 

                                if (myModel.SaveChanges() > 0)

                                {

                                    for (int k = 0; k < strmyCheck.Count; k++)

                                    {

                                        SYS_FlightSegment FlightSegment = new SYS_FlightSegment();

                                        FlightSegment.OrderList_id = OrderList.OrderList_id;

                                        FlightSegment.ReservationNumber = "DW" + Randomcount(5);

                                        FlightSegment.ReservationStatus_id = ReservationStatus[0].ReservationStatus_id;

                                        FlightSegment.Flight_id = Convert.ToInt32(strmyCheck[k][0.ToString()]["Flight_id"]);

                                        FlightSegment.FreightSpaceName = strmyCheck[k][1.ToString()]["FreightNumber"];

                                        FlightSegment.Price = Convert.ToDecimal(strmyCheck[k][1.ToString()]["Price"]);

                                        FlightSegment.FlightDate = Convert.ToDateTime(strmyCheck[k][0.ToString()]["FlightData"]);

                                        FlightSegment.FlightNumber = strmyCheck[k][0.ToString()]["FlightNumber"];

                                        FlightSegment.AirlineName = strmyCheck[k][0.ToString()]["AirlineName"];

                                        FlightSegment.DepartureCity = strmyCheck[k][0.ToString()]["departureTime"];

                                        FlightSegment.DescentCity = strmyCheck[k][0.ToString()]["descentTime"];

 

                                        myModel.SYS_FlightSegment.Add(FlightSegment);

                                    }

                                    if (myModel.SaveChanges() > 0)

                                    {

                                        for (int i = 0; i < DayValue.Count; i++)

                                        {

                                            int CredentialsType_id = Convert.ToInt32(DayValue[i]["CredentialsType_id"]);

                                            string CredentialsCode = DayValue[i]["CredentialsCode"];

                                            PW_Credentials listData;

                                            try

                                            {

                                                var b = SelectCredentials.Where(m => m.CredentialsType_id == CredentialsType_id && m.CredentialsCode == CredentialsCode).ToList();

                                                listData = SelectCredentials.Where(m => m.CredentialsType_id == CredentialsType_id && m.CredentialsCode == CredentialsCode).Single();

                                                var s = ((dynamic)DayValue[i]).Holder;

                                                var a = DayValue[i]["Holder"];

                                                if (listData.Holder != ((dynamic)DayValue[i]).Holder)

                                                {

                                                    msg.Text = "请输入正确的证件信息!";

                                                    return Json(msg, JsonRequestBehavior.AllowGet);

                                                }

                                                state = true;

                                                NowTravellers[i].Credentials_id = listData.Credentials_id;

                                            }

                                            catch (Exception e)

                                            {

                                                PW_Credentials Credentials = new PW_Credentials();

                                                Credentials.Holder = DayValue[i]["Holder"];

                                                Credentials.CredentialsType_id = Convert.ToInt32(DayValue[i]["CredentialsType_id"]);

                                                Credentials.CredentialsCode = DayValue[i]["CredentialsCode"];

                                                Credentials.UserBirthday = DayValue[i]["DirthTime"];

                                                myModel.PW_Credentials.Add(Credentials);

                                                if (myModel.SaveChanges() > 0)

                                                {

                                                    state = true;

                                                    int Credentials_id = Credentials.Credentials_id;

                                                    Session["Credentials_id"] = Credentials_id;

                                                }

                                            }

上面这些代码,是新增一条数据到用循环新增多条数据的一段代码。下面是获取到的数据,因为软件的问题,所以只能截到获取到的总数据,可以看到这些数据有的是多条,有的只是一条:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值