日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

计划将项目中使用entity framework的要点记录到改栏目下

發(fā)布時(shí)間:2024/6/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计划将项目中使用entity framework的要点记录到改栏目下 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ef監(jiān)控sql執(zhí)行性能日志。http://www.cnblogs.com/CreateMyself/p/5277681.html

http://123.122.205.38/cn_sql_server_2008_r2_enterprise_x86_x64_ia64_dvd_522233.iso?fid=hqkUfQCwLLgefGdBiOC73ps1JxMA*O0VAQAAAGT1XOywsz1scWyaiQsnM*YF3JxX&mid=666&threshold=150&tid=E644E3AB354940E901996D7CF1F47CF9&srcid=119&verno=1

?

今天在做畢業(yè)設(shè)計(jì)時(shí),遇到了一個(gè)很郁悶的問(wèn)題:

public partial class ProjectModule : Entity{public ProjectModule(){Id = GuidComb.GenerateComb();}public Guid Id { get; set; }public string Name { get; set; }public int Grade { get; set; }public int DisplayOrder { get; set; }public string FullPathName { get; set; }public virtual Project Project { get; set; }public virtual ProjectModule Parent { get; set; }}

?我是用函數(shù)獲取對(duì)象,對(duì)其進(jìn)行修改:

1 public ProjectModule GetById(Guid id) 2 { 3 return _context.ProjectModule 4 .FirstOrDefault(m => m.Id == id); 5 }

之后調(diào)用對(duì)象對(duì)其修改:

1 [HttpPost] 2 public JsonResult Modify(ProjectModuleViewModel model) 3 { 4 using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork()) 5 { 6 AjaxResult result = new AjaxResult(); 7 8 ProjectModule module = _projectModuleService.GetById(model.Module_Id.Value); 9 if (model.Module_IsDelete == 1) 10 { 11 try 12 { 13 _projectModuleService.Delete(module); 14 unitOfWork.Commit(); 15 16 result = new AjaxResult() { status = AjaxResultStatus.success, detail = "刪除成功!" }; 17 } 18 catch (Exception ex) 19 { 20 unitOfWork.Rollback(); 21 LoggingService.Error(ex); 22 result = new AjaxResult() { status = AjaxResultStatus.failed, detail = "刪除失敗!" }; 23 } 24 25 return Json(result); 26 } 27 28 module.DisplayOrder = model.Module_DisplayOrder; 29 module.Name = model.Module_Name; 30 31 Project project = _projectService.GetById(model.Module_ProjectId); 32 module.Project = project; 33 34 if (string.IsNullOrEmpty(model.Module_Name)) 35 { 36 result = new AjaxResult() { status = AjaxResultStatus.failed, detail = new Dictionary<string, string>() }; 37 result.AddDetailItem("Module_Name", "請(qǐng)?zhí)顚?xiě)模塊名"); 38 return Json(result); 39 } 40 41 if (model.Module_ParentId.HasValue == false) 42 { 43 module.FullPathName = model.Module_Name; 44 module.Parent = null; 45 module.Grade = 0; 46 } 47 else 48 { 49 if (model.Module_ParentId.Value == model.Module_Id) 50 { 51 result = new AjaxResult() { status = AjaxResultStatus.failed, detail = new Dictionary<string, string>() }; 52 result.AddDetailItem("Module_ParentId", "節(jié)點(diǎn)自己不允許作為自己的子節(jié)點(diǎn)!"); 53 return Json(result); 54 } 55 ProjectModule parent = _projectModuleService.GetById(model.Module_ParentId.Value); 56 57 module.FullPathName = parent.FullPathName + "/" + model.Module_Name; 58 module.Parent = parent; 59 module.Grade = parent.Grade + 1; 60 } 61 62 try 63 { 64 unitOfWork.Commit(); 65 66 result = new AjaxResult() { status = AjaxResultStatus.success, detail = "保存成功!" }; 67 } 68 catch (Exception ex) 69 { 70 unitOfWork.Rollback(); 71 LoggingService.Error(ex); 72 result = new AjaxResult() { status = AjaxResultStatus.failed, detail = "保存失敗!" }; 73 } 74 75 return Json(result); 76 } 77 }

?

其中代碼執(zhí)行了 module.Parent=null之后,發(fā)現(xiàn)并沒(méi)有把Parent對(duì)象真的賦值為null,但我修改了之后發(fā)現(xiàn)其他字段都已經(jīng)修改了,后來(lái)發(fā)現(xiàn)parent字段在數(shù)據(jù)庫(kù)中依然存在有值。

后來(lái)嘗試了使用我嘗試修改啦GetById()函數(shù)后,發(fā)現(xiàn)問(wèn)題解決了。

修改為:

public ProjectModule GetById(Guid id){return _context.ProjectModule.Include(x => x.Parent).FirstOrDefault(m => m.Id == id);}

?

轉(zhuǎn)載于:https://www.cnblogs.com/yy3b2007com/p/5284723.html

總結(jié)

以上是生活随笔為你收集整理的计划将项目中使用entity framework的要点记录到改栏目下的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。