Linq to Entity 增,删,改,查 语句

来源:互联网 发布:车载安卓版电子狗软件 编辑:程序博客网 时间:2024/04/29 23:19

一、增

        public void Insert(ExamineeDto item)        {            using (var ctx = new PersonnelExamEntities())            {                var newItem = new Ex_Examinee                {                    #region  赋值操作                    ExamineeName = item.ExamineeName,                    Sex = item.Sex,                    Nation = item.Nation,                    PoliticsStaus = item.PoliticsStaus,                    WorkUnit = item.WorkUnit,                    IdentityCardNumber = item.IdentityCardNumber,                    PhotoUpload = false,                    #endregion                };                var myitem = ctx.Ex_Examinee.Where(i => i.IdentityCardNumber == item.IdentityCardNumber && i.ExamPlanId==item.ExamPlanId).FirstOrDefault();                if (myitem == null)                {                    ctx.AddToEx_Examinee(newItem);//对Ex_Examinee增加一条记录                    ctx.SaveChanges();                    item.ExamineeID = newItem.ExamineeID;                }                else                {                    item = Fetch(item.ExamineeID);                }            }        }


 

二、删

        //删除单条记录        public void Delete(int id)        {            using (var ctx = new PersonnelExamEntities())            {                var data = ctx.Ex_Examinee.Where(o => o.ExamineeID == id).FirstOrDefault();                if (data == null)                    throw new Exception("不存在!");                ctx.DeleteObject(data);                ctx.SaveChanges();            }        }        public void Delete(string[] args)        {            int count = args.Length;            using (var ctx = new PersonnelExamEntities())            {                for (int i = 0; i < count; i++)                {                    int id=int.Parse(args[i].ToString());                    var data = ctx.Ex_Examinee.Where(o => o.ExamineeID == id).FirstOrDefault();                    if (data == null)                        throw new Exception("不存在!");                    ctx.DeleteObject(data);                    ctx.SaveChanges();                }            }        }        //删除多条记录        public void DeleteAll(int ExamPlanId)        {            using (var ctx = new PersonnelExamEntities())            {                 foreach (var item in ctx.Ex_Examinee.Where(o=>o.ExamPlanId==ExamPlanId))                 {                     ctx.DeleteObject(item);                 }                 ctx.SaveChanges();            }        }


 

三、改

        //更新单条记录        public void Update(ExamineeDto item)        {            using (var ctx = new PersonnelExamEntities())            {                var data = ctx.Ex_Examinee.Where(o => o.ExamineeID == item.ExamineeID).FirstOrDefault();                if (data == null)                    throw new Exception("当前考试生不存在!");                #region  赋值操作                data.ExamineeName = item.ExamineeName;                data.Sex = item.Sex;                data.Nation = item.Nation;                    #endregion                var count = ctx.SaveChanges();                if (count == 0)                    throw new Exception("考试生更新不成功!");            }        }                /// <summary>        /// 更新多条记录(清除职业技术的准考证信息)        /// </summary>        /// <param name="myparam"></param>        public void UpdateData(NameValueCollection myparam)        {            using (var ctx = new PersonnelExamEntities())            {                IEnumerable<Ex_Examinee> myqlist;                string myquerystr = ""; //异步查询字串                myqlist = ctx.Ex_Examinee.Where(o => o.ExamPass == true && o.CheckPass == true);                int examitemid = MyReadNameValueC.MyGetNVInt("QExamItemID", myparam, ref  myquerystr, 0);                if (examitemid > 0)                {                    myqlist = myqlist.Where(o => o.ExamItemID == examitemid);                }                var mydata = myqlist.ToList();                if (mydata == null) throw new Exception("更新错误01!");                int i = 0;                foreach (var item in mydata)//循环列表                {                    item.ExamineeCode = "";                    item.ExamAddress = "";                    item.ExamPost = "";                    item.ExamPostNumber = "";                    item.ExamDate = "";                    item.ExamTime = "";                    i++;                }                ctx.SaveChanges();            }        }        /// <summary>        /// 更新审核考生        /// </summary>        /// <param name="item"></param>        public void UpdateCheck(NameValueCollection args)        {            int[] mybid = MyReadNameValueC.GetListNVInt("item.ExamineeID", args, 0);            bool[] myuse = MyReadNameValueC.GetListNVBool(mybid, "item.CheckPass", args, false);            int count = mybid.Length;            using (var ctx = new PersonnelExamEntities())            {                int j = 0;                for (int i = 0; i < count; i++)                {                    j = mybid[i];                    var mydata = ctx.Ex_Examinee.Where(o => o.ExamineeID == j).FirstOrDefault();                    if (mydata != null)                    {                        mydata.CheckPass = myuse[i];                        ctx.SaveChanges();                    }                }            }        }        /// <summary>        /// 将Excel的准考证信息更新到数据库中        /// </summary>        /// <param name="myexcel"></param>        public void ExcelImportSave(List<ExamineeCDto> myexcel)        {            using (var ctx = new PersonnelExamEntities())            {                var updatas = ctx.Ex_Examinee.ToList();//读取全部数据                foreach (var item in updatas)                {                    var impd = myexcel.Where(o => o.报名序号 == item.ExamineeID).FirstOrDefault();                    //Excel数据中的报名序号与数据库中的ExamineeID相等,则更新数据库字段                    if (impd != null)                    {                        item.ExamineeCode = impd.准考证号;                        item.ExamAddress = impd.考试地点;                        item.ExamDate = impd.考试日期;                        item.ExamTime = impd.考试时间;                        item.ExamPost = impd.考场号;                        item.ExamPostNumber = impd.座位号;                    }                }                ctx.SaveChanges();            }        }


 

四、查

        //查询单条记录        public ExamineeDto Fetch1(int ExamPlanId, string examineename, string identity, int intidExamineeID)        {            using (var ctx = new PersonnelExamEntities())            {                var result = (from r in ctx.Ex_Examinee                              where r.ExamPlanId==ExamPlanId && r.ExamineeName == examineename && r.IdentityCardNumber == identity && r.ExamineeID == intidExamineeID                              select new ExamineeDto                              {                                  #region  赋值操作                                  ExamineeID = r.ExamineeID,                                  ExamineeName = r.ExamineeName,                                  IdentityCardNumber = r.IdentityCardNumber,                                  EmailAddress = r.EmailAddress,                                  ExamineeCode = r.ExamineeCode,                                  #endregion                              }).FirstOrDefault();                return result;            }        }          //查询单条记录     public bool EmailAddressExist(string emailaddress, int id = 0)        {            using (var ctx = new PersonnelExamEntities())            {                var data = ctx.Ex_Examinee.Where(o => o.LoweredEmailAdress == emailaddress.ToLower()).FirstOrDefault();                if (data == null)                    return false;                if (data.ExamineeID == id)                    return false;                return true;            }        }        //列表        public List<ExamineeDto> FetchList(NameValueCollection myparam)        {            //int page = 1;            //int eachNumber = 20;            //int count = 0;            List<ExamineeDto> mydata = new List<ExamineeDto>(); //装载结果            using (var ctx = new PersonnelExamEntities())            {                IEnumerable<Ex_Examinee> myqlist;                myqlist = ctx.Ex_Examinee.OrderByDescending(o => o.ExamineeID);                //报考专业的id                int examitemid = MyReadNameValueC.MyGetNVInt("QExamItemID", myparam, ref  myquerystr, 0);                if (examitemid > 0)                {                    myqlist = myqlist.Where(o => o.ExamItemID == examitemid);                }                //考生姓名                string exName = MyReadNameValueC.MyGetNVString("QExamineeName", myparam, ref  myquerystr, "");                if (exName != "")                {                    myqlist = myqlist.Where(o => o.ExamineeName.Contains(exName));                }                //var mylist = myqlist.Skip((page - 1) * eachNumber).Take(eachNumber);//分页                mylist.ToList()                    .ForEach(r => mydata.Add(new ExamineeDto                    {                        #region  赋值操作                        ExamineeID = r.ExamineeID,                        ExamineeName = r.ExamineeName,                        Sex = r.Sex,                        #endregion                    }));                return mydata;            }        }        public List<ExamineeDto> FetchListExamineeID()        {            using (var ctx = new PersonnelExamEntities())            {                List<ExamineeDto> plist = new List<ExamineeDto>();                //创建空选项                ExamineeDto p = new ExamineeDto();                p.ExamineeID = 0;                plist.Add(p);//添加对象到List结尾                             List<ExamineeDto> mydata = new List<ExamineeDto>(); //装载结果                    IEnumerable<Ex_Examinee> myqlist;                    myqlist =ctx.Ex_Examinee.OrderByDescending(o => o.ExamineeID);                    myqlist = myqlist.Where(o => o.ExamPlanId == 10018 && o.CheckPass == true && o.ExamPass == true);                    //用ForEach循环Entity中的ExamineeID,插入到mydata中                    myqlist.ToList().ForEach(r => mydata.Add(new ExamineeDto                    {                         ExamineeID=r.ExamineeID                    }));                    plist.AddRange(mydata);//追加到plist中                return plist;            }        }


 

浏览者还查看了下面文章:

Linq to Entity 增,删,改,查 语句

LINQ TO Entity 在数据库发生更改时更新实体数据模型 .edmx 文件

LINQ TO Entity 执行存储过程(不能获得存储过程返回的0或1)

LINQ TO Entity 增,删,改,查,列表,获得多选框的值实例

0 0