Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 实体框架edmx点击图速度非常慢_Entity Framework_Visual Studio 2015_Entity Framework 6_Edmx - Fatal编程技术网

Entity framework 实体框架edmx点击图速度非常慢

Entity framework 实体框架edmx点击图速度非常慢,entity-framework,visual-studio-2015,entity-framework-6,edmx,Entity Framework,Visual Studio 2015,Entity Framework 6,Edmx,背景一:我在Windows 10 Pro笔记本电脑上拥有Visual Studio 2015中的数据库第一EF6模型(最新的nuget 6.1.3指向本地SQL Server 2014 SP1 Express数据库)。在我从Windows 8.1和Visual Studio 2013升级之后。大约6个月前,我还从EF5升级了该模型,但我认为这与此无关,因为我也尝试过从头开始重建 模型:一组大约100个表、50个视图和250个关联 问题是每次我想对模型进行更改时,在.edmx图表上的任何类型的单击

背景一:我在Windows 10 Pro笔记本电脑上拥有Visual Studio 2015中的数据库第一EF6模型(最新的nuget 6.1.3指向本地SQL Server 2014 SP1 Express数据库)。在我从Windows 8.1和Visual Studio 2013升级之后。大约6个月前,我还从EF5升级了该模型,但我认为这与此无关,因为我也尝试过从头开始重建

模型:一组大约100个表、50个视图和250个关联

问题是每次我想对模型进行更改时,在
.edmx
图表上的任何类型的单击(左或右)都会导致Visual Studio在几分钟内没有响应。我已经把我能做的一切都转移到了另一个图上(大多数视图没有关联),这个图没有这个问题,所以我假设关联的数量是问题所在。其中大多数是从数据库中拉入的必需外键关联。然而,连接3个FK关联大约需要半个小时,以便在我的主图表上查看。我可以理解模型中的实体是否有限制,但我不理解为什么仅仅单击图表就会使VisualStudio变得无响应。任务管理器显示CPU使用率很高,没有磁盘使用

单击任何实体都可以,移动或编辑实体也可以。问题是单击背景画布

我已经开始通过模型浏览器从数据库中更新模型,但我无法使用右键单击图表来创建新关联

我还没有看到任何关于这个问题的评论。有什么原因或解决办法的建议吗

顺便说一句,我刚刚重新安装了Windows 10 Pro,只安装了SQL Server 2014 SP1 Express和Visual Studio 2105 Pro。因此,在我的系统上没有自定义项

更新:当DevEnv.exe变得无响应时,ProcDump提供此stacktrace,建议对图形对象进行本机代码搜索:

[External Code] 
[Managed to Native Transition]  
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!<Module>.GeoSCursor.search(GeoSCursor* value)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGGraph.GetObjectsInRect(LRECT bbox, Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGLayoutObjectList items, VSGLayoutObject** ignoreItems, int numberItems, int numbertypes, int* types, bool searchSubGraphs)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGGraph.GetObjectsInRect(LRECT bbox, Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGLayoutObjectList items, VSGLayoutObject** ignoreItems, int numberItems, int numbertypes, int* types, bool searchSubGraphs)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGGraph.get_ObjectsInRectangle(double x0, double y0, double x1, double y1, bool searchSubGraphs)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphWrapper.HitTest(Microsoft.VisualStudio.Modeling.Diagrams.RectangleD hitArea, bool requireCompleteContainment, bool searchSubGraphs) 
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphWrapper.SpatialQuery(Microsoft.VisualStudio.Modeling.Diagrams.GraphWrapper.SpatialDirection direction, Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement currentShape, Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement parentShape)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement.FindNextInChildShapes(Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement startFromChildShape, bool focusableRequired)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.ShapeAccessibleObject.GetChild(int index)
System.Windows.Forms.dll!System.Windows.Forms.AccessibleObject.GetFocused()
System.Windows.Forms.dll!System.Windows.Forms.AccessibleObject.Accessibility.IAccessible.accFocus.get()
System.Windows.Forms.dll!System.Windows.Forms.InternalAccessibleObject.System.Windows.Forms.UnsafeNativeMethods.IAccessibleInternal.get_accFocus()
[外部代码]
[管理到本机转换]
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!。GeoSCursor.search(GeoSCursor*值)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGGraph.GetObjectsRect(LRECT bbox、Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGLayoutObjectList项、VSGLayoutObject**ignoreItems、int numberItems、int numbertypes、int*类型、布尔搜索子图)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGGraph.GetObjectsRect(LRECT bbox、Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGLayoutObjectList项、VSGLayoutObject**ignoreItems、int numberItems、int numbertypes、int*类型、布尔搜索子图)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGGraph.get_ObjectsInRectangle(双x0、双y0、双x1、双y1、布尔搜索子图)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphRapper.HitTest(Microsoft.VisualStudio.Modeling.Diagrams.Structangle hitArea,布尔要求重新完成包含,布尔搜索子图)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphRapper.SpatialQuery(Microsoft.VisualStudio.Modeling.Diagrams.GraphRapper.SpatialDirection,Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement当前形状,Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement父形状)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement.FindNameChildShapes(Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement startFromChildShape,bool focusableRequired)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.ShapeAccessibleObject.GetChild(int索引)
System.Windows.Forms.dll!System.Windows.Forms.AccessibleObject.GetFocused()
System.Windows.Forms.dll!System.Windows.Forms.AccessibleObject.Accessibility.IAccessible.accFocus.get()
System.Windows.Forms.dll!System.Windows.Forms.InternalAccessibleObject.System.Windows.Forms.UnsafentiveMethods.IAAccessibleInternal.get_accFocus()获取

UPDATE2:XtraSimplicity有一个解决方案,对某些人有效,但对我无效。多亏了他的建议,我已经排除了这是一个直接的图形驱动程序问题。我的笔记本电脑中有Intel HD图形系列和NVIdia GeForce GT 750M显示器适配器。Intel是常用的活动适配器,但当仅启用NVidia时,问题也会出现。我也尝试过在VisualStudio中禁用硬件支持的建议,但是如果有任何事情使得打开edmx时VS的性能更差的话。

我不能评论,因为我的评论声誉刚刚达到最低,但是我一直有完全相同的问题

和你一样,我重新安装了Windows 10(企业版)和Visual Studio(2013 Pro和2015 Pro版),但都没有用

目前,我已经把它放在了次要位置,并通过使用DevArt的Entity Developer()和手动编辑类以匹配数据库更改来解决它

这是乏味的,也不是很多乐趣-但它对我来说是有效的(目前)

希望这对某人有所帮助

编辑:

对于将来可能遇到此帖子的任何人来说,以下内容似乎为我解决了这个问题:

  • 导航到工具>选项>常规
  • 取消勾选“根据客户端性能自动调整视觉体验”
  • 取消勾选“如果可用,使用图形加速”
虽然您可能不必这样做,但我没有勾选“启用富客户机视觉体验”

如果这不起作用,请查看此答案下面的注释-它可能有用。:)

资料来源:

编辑2:

我的国际空间站