ef监控sql执行性能日志。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

今天在做毕业设计时,遇到了一个很郁闷的问题:

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; }}

我是用函数获取对象,对其进行修改:

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

之后调用对象对其修改:

 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", "请填写模块名");
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", "节点自己不允许作为自己的子节点!");
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         }

其中代码执行了 module.Parent=null之后,发现并没有把Parent对象真的赋值为null,但我修改了之后发现其他字段都已经修改了,后来发现parent字段在数据库中依然存在有值。

后来尝试了使用我尝试修改啦GetById()函数后,发现问题解决了。

修改为:

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

转载于:https://www.cnblogs.com/yy3b2007com/p/5284723.html

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

  1. java日志怎么实现_JAVA项目中怎么实现一个通用日志记录功能

    JAVA项目中怎么实现一个通用日志记录功能 发布时间:2020-11-21 17:04:50 来源:亿速云 阅读:53 作者:Leah 今天就跟大家聊聊有关JAVA项目中怎么实现一个通用日志记录功能, ...

  2. vs2012中对于entity framework的使用

    很久之前就听说过微软entity framewor的强大与便利,今天终于不手懒了,动手写了一些东西,但也遇到了一些问题. 实践步骤: 1.首先在vs2012中新建一个控制台应用程序 2.在项目中添加一 ...

  3. asp.net Web项目中使用Log4Net进行错误日志记录

    使用log4net可以很方便地为应用添加日志功能.应用Log4net,开发者可以很精确地控制日志信息的输出,减少了多余信息,提高了日志记录性能.同时,通过外部配置文件,用户可以不用重新编译程序就能改变 ...

  4. 关于AudioManager在项目中遇到的一些问题的记录

    在项目中涉及到语音的一些处理,其中遇到了一些问题.在打完电话后重新进入项目调起TTS,语音从话筒中出来,不从扩音器中出来,audiofocus变成了-2,并且没有重新获取.解决方案为:监听电话,手机空 ...

  5. MVC中使用Entity Framework 基于方法的查询学习笔记 (二)

    解释,不解释: 紧接上文,我们在Visual Studio2012中看到系统为我们自动创建的视图(View)文件Index.cshtml中,开头有如下这句话: @model IEnumerable&l ...

  6. 浅谈Entity Framework中的数据加载方式

    如果你还没有接触过或者根本不了解什么是Entity Framework,那么请看这里http://www.entityframeworktutorial.net/EntityFramework-Arc ...

  7. Log4j 2再现新漏洞;缺乏资助不是开源软件安全的唯一问题;微软公布 Entity Framework 7.0 计划 | 开源日报

    整理 | 宋彤彤 责编 | 屠敏 开源吞噬世界的趋势下,借助开源软件,基于开源协议,任何人都可以得到项目的源代码,加以学习.修改,甚至是重新分发.关注「开源日报」,一文速览国内外今日的开源大事件吧! ...

  8. Entity Framework在Asp.net MVC中的实现One Context Per Request(附源码)

    上篇中"Entity Framework中的Identity map和Unit of Work模式", 由于EF中的Identity map和Unit of Work模式,EF体现 ...

  9. Asp.Net MVC 模型(使用Entity Framework创建模型类)

    Asp.Net MVC 模型(使用Entity Framework创建模型类) 这篇教程的目的是解释在创建ASP.NET MVC应用程序时,如何使用Microsoft Entity Framework ...

最新文章

  1. 95后架构师晒出工资单:狠补了这个,真香...
  2. php删除修改例,PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
  3. Fabio 安装和简单使用
  4. OpenStack部署
  5. C++ 的语言杂谈(一)--C++不是新手友好的
  6. jmeter之ip欺骗
  7. Spring Mvc Url和参数名称忽略大小写
  8. 新手入门教程-------Spring Boot中集成RabbitMQ
  9. 使用Travis-CI 与 Github Webhook自动部署你的页面
  10. Solana 交易执行机制
  11. 便签如何把短音频文件mp3的转换成文字
  12. linux 可道云_阿里云linux kodexplorer可道云搭建私有云盘
  13. 分类排序 同辈元素只在数据上的层级关系
  14. 上市公司9月23日晚间公告速递
  15. 信号处理中使用IPP库函数的基本设置
  16. Windows Cmd控制台程序会被鼠标单击暂停的解决方法
  17. Nova 最新高度集成的SoC NT98530用于开发4K@60的IPC产品_AI算法承载硬件_开发实例
  18. Python之OpenCV截取视频段
  19. P2P TELNET
  20. Windows Server 2016修改Administrator的密码

热门文章

  1. 挑战Redis单实例内存最大极限,“遭遇”NUMA陷阱!
  2. Unity 5 中的全局光照技术详解
  3. 使用Xshell链接阿里的Linux服务器
  4. 学习MongoDB 十一: MongoDB聚合(Aggregation Pipeline基础篇上)(三)
  5. AVG杀毒软件添加信任程序
  6. 雷林鹏分享:CSS 链接
  7. h5页面长按保存图片
  8. python_深浅拷贝
  9. 《梦断代码》读书笔记
  10. asp.net,关于Listview+DataPager控件使用