首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ASP.NET MVC WebApi & EF延迟加载=永久加载?

ASP.NET MVC WebApi & EF延迟加载=永久加载?
EN

Stack Overflow用户
提问于 2012-08-22 06:30:20
回答 1查看 2.4K关注 0票数 2

在我的ASP.NET MVC WebApi项目中,我有一个存储库(带有接口),它通过一个简单的Linq SingleOrDefault命令查询DB,然后将所有内容输出给Controller。(EF =数据库优先针对Oracle DB)

问题是,当我打开延迟加载(通过EDMX文件属性)时,get将永远加载,并且没有响应。如果我关掉拉兹装的话一切都还好吗?

更奇怪的是,当我将所有查询放入控制台应用程序并通过Console.WriteLine输出所有内容时,它也适用于延迟加载吗?

接口:

代码语言:javascript
运行
AI代码解释
复制
Public Interface IMedienRepository
    Function [Get](id As Integer) As MEDIEN
End Interface

仓库

代码语言:javascript
运行
AI代码解释
复制
Private db As EFEntities
Public Sub New()
    db = New EFEntities
End Sub

Public Function [Get](id As Integer) As MEDIEN Implements IMedienRepository.[Get]
    Dim _medien = db.MEDIEN.SingleOrDefault(Function(m) m.MEDIENNR = id)

    If _medien Is Nothing Then
        Throw New NotFoundException()
    End If

    Return _medien.SingleOrDefault()
End Function

控制器

代码语言:javascript
运行
AI代码解释
复制
Private _repository As IMedienRepository
Public Sub New()
    Me.New(New MedienRepository())
End Sub
Public Sub New(repository As IMedienRepository)
    _repository = repository
End Sub

Public Function GetValue(id As Integer) As MEDIEN
    Try            
        Return _repository.Get(id)
    Catch generatedExceptionName As NotFoundException
        Throw New HttpResponseException(New HttpResponseMessage() With { _
         .StatusCode = System.Net.HttpStatusCode.NotFound _
        })
    End Try
End Function

FYI:即使我将查询直接放入控制器,它也无法工作!

如果有人知道这个问题,并能帮助我,我将不胜感激,因为我喜欢在MVC视图中使用延迟加载功能。

我目前的工作是关闭通过WebApi进行呼叫的延迟加载(WebApi).

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-22 06:48:10

考虑到您描述的行为,我怀疑延迟加载会导致(出于某种原因)从数据库加载大量数据,这需要很长时间,而且看起来没有响应。关闭延迟加载确保只返回查询的第一个“级别”,而不填充任何集合属性。

如果这些调用是针对WebAPI的,我不确定您是否会从延迟加载中获得真正的好处。API调用在查询数据库和返回严格定义的结果集时应该非常确定。编写性能良好的API很难(只需问问StackOverlow团队!)查询性能是至关重要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12075410

复制
相关文章
PrimeNG TreeTable异步加载子树[通俗易懂]
1. PrimeNG官网:https://www.primefaces.org/primeng/#/treetable
全栈程序员站长
2022/09/01
8150
Layui数据表格的动态加载
Layui是一个很好的前端框架,很多人都会用到,layui的数据表格这个就是从数据库查询出来的数据渲染到表格上。
PHY_68
2020/10/28
2.8K0
Layui数据表格的动态加载
Windows凭据不工作
如果不是敲错IP、用户名、密码,报凭据不工作,一般情况下执行这几句命令后重启远程服务就正常了
Windows技术交流
2021/06/15
6.2K0
RDP你的凭据不工作/RDP密码不刷新
如果你不属于上述的情况,请查看:https://learn.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/troubleshoot/rdp-error-general-troubleshooting#check-whether-a-group-policy-object-gpo-is-blocking-rdp-on-a-local-computer
阿龙w
2022/12/02
12.8K0
RDP你的凭据不工作/RDP密码不刷新
预加载之——js 文件如何实现只加载不执行
性能优化很常见的一个方式是提前加载文件,本文讨论如何在其他依赖未加载情况下提前加载一个.js文件。
前端知知
2022/09/29
6.2K0
128 天不上班不工作:照样领工资 9.5 万
原告:北京和风畅想科技有限公司 被告:杜某,男,1988年出生 和风畅想公司向法院提出诉讼请求: 1、判决无须撤销《解除劳动关系通知书》,双方无需继续履行劳动合同; 2、判决和风畅想公司无须向杜某支付自2020年2月29日至2020年7月5日期间工资收入损失95172.41元。 事实和理由: 2020年11月2日,和风畅想公司收到北京市朝阳区劳动人事争议仲裁委员会作出的京朝劳人仲字[2020]第16281号裁决书(以下简称“第16281号裁决书”),和风畅想公司不服该裁决。 不服裁决理由: 一、第1628
云头条
2022/10/09
2.3K0
128 天不上班不工作:照样领工资  9.5 万
「过期不候」,有生命周期的 TiDB 数据表
近日,由 TiDB 社区主办,专属于全球开发者与技术爱好者的顶级挑战赛事——TiDB Hackathon 2020 比赛圆满落幕。今年是 TiDB Hackathon 第四次举办,参赛队伍规模创历届之最,共有 45 支来自全球各地的队伍报名,首次实现全球联动。经过 2 天时间的极限挑战, 大赛涌现出不少令人激动的项目。
PingCAP
2021/03/12
4410
JVM | 类加载是怎么工作的
在程序世界的大海洋中,类就像是构建一切的基石。它们是构建Java应用的原材料,类加载器则是这个世界的建筑工人。他们负责将构建城市所需的材料搬运到工地(JVM)。了解类加载器的工作原理,就像了解城市建设的过程,能够让我们更好地理解和控制程序的运行。现在,让我们深入探索JVM的类加载器,解析它的奥秘,开启这趟神奇的旅程吧!
kfaino
2023/09/29
3430
JVM | 类加载是怎么工作的
webpack的watch选项不工作原因分析
今天尝试将以前创建的一个前端项目改为webpack编译,该项目使用了VueJS v2.0,原来是编写gulp脚本完成构建的。很自然就直接用vue-cli来搞定这个事了。 使用vue-cli创建项目 因为以前用过webpack,而vue-cli创建的项目底层其实还是使用webpack构建的,所以使用起来还是很简单的。 # 使用yarn,这个命令是跟npm兼容的,但速度快很多,而且可以保证依赖包版本的一致性,强烈推荐 yarn install --global vue-cli vue-cli webpack v
jeremyxu
2018/05/10
4.2K0
常用功能加载宏——工作表目录
在一个工作簿中,如果工作表太多了,要选中需要操作的Sheet还挺麻烦的。对于Excel用的不大熟练的人,只会按左下角的方向箭头,然后用眼睛去查找,有的人为了让Excel显示多一些工作表名称,还会把右下角的滚动条拉的只剩一点点,造成操作Sheet都不方便。
xyj
2020/07/28
9930
常用功能加载宏——工作表目录
mongo minio on openebs 工作量不饱满教程
作者 | 老根 - laf框架作者 笔者在开发laf(https://github.com/lafjs/laf)的过程中依赖了mongo minio这些组件,本文就如何对这些组件最佳实践来做个介绍。
sealyun
2022/05/16
3.9K0
mongo minio on openebs 工作量不饱满教程
Java中类加载器的工作原理
一说Java代码的执行, 接触过Java代码的同学肯定会想到: 编写, 编译, 运行这三个阶段. 其中:
用户7353950
2022/06/23
5360
Java中类加载器的工作原理
常用功能加载宏——工作簿目录
要创建工作簿的目录,其实就是遍历获取所有的文件,然后过滤一下,再增加超链接就可以:
xyj
2020/07/28
9570
常用功能加载宏——工作簿目录
为什么不建议你国庆前找工作
最近在面试过程中,以上内容就是简历的问题。打算换工作或正在找工作的朋友,可以参考一下。
李才哥
2019/09/25
4K0
C++都从事哪些工作能挣钱不?
java大行其道的今天我们来谈谈c++,现在学c++的人越来越少了。问题在哪?互联网盛行的年代,能吸引眼球的就是能赚钱的。所以一看招聘,发现做java开发是抢手货,起步价比c++高。 再则学习c++难度都比其它语言较高。而它的学习难度,太复杂性。现在c++的使用范围比以前已经少了很多,java、C#、python等语言在很多方面已经可以代替c++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业,比如游戏、高效的服务器,网络等。 一、游戏开发 游戏开发都有哪些,引擎开发(
程序员互动联盟
2018/03/15
2.8K0
C++都从事哪些工作能挣钱不?
远程桌面失败:你的凭据不工作
  然后按照以下操作,将默认设置“仅来宾—本地用户以来宾身份验证”,更改为“经典:本地用户以自己的身份验证”。
chenchenchen
2019/09/03
9.8K0
远程桌面失败:你的凭据不工作
常用功能加载宏——拆分工作表
有合并工作表,自然也离不开拆分工作表,将一个总表,按照某一列的内容拆分为多个工作表,然后可以再结合前面的一个工作簿的工作表另存为工作簿功能,就可以生成多个工作簿进行分发了:
xyj
2020/07/28
2.4K0
常用功能加载宏——拆分工作表
常用功能加载宏——一个工作簿的工作表另存为工作簿
前面实现了多个工作簿和合并到一个工作簿的功能,反过来,将一个工作簿里的工作表,另存为多个工作簿,然后分发给不同的人,应该也是经常会碰到的。让我们看看使用VBA如何实现:
xyj
2020/07/28
1.6K0
常用功能加载宏——一个工作簿的工作表另存为工作簿
Activiti工作流框架学习笔记(一)之通用数据表详细介绍
低于5.6.4的MySQL版本不支持时间戳或毫秒级的日期。更糟糕的是,某些版本在尝试创建此类列时将引发异常,而其他版本则不会。执行自动创建/升级时,引擎将在执行DDL时更改它。使用DDL文件方法时,既可以使用常规版本也可以使用其中带有mysql55的特殊文件(这适用于低于5.6.4的任何版本)。后一个文件将具有没有毫秒精度的列类型。
朱季谦
2020/01/08
4.1K0
Activiti工作流框架学习笔记(一)之通用数据表详细介绍
点击加载更多

相似问题

角4动画在init组件上执行。

11

子闪电组件init在父init salesforce之前执行

20

在git init上执行脚本

24

React/material上升按钮在init上执行onTouchTap

36

如何跳过在可重用容器上执行init脚本?

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文