首页
论坛
新职位
搜索论坛
什么是新的
新职位
新的个人资料帖子
最新活动
会员
目前的访客
新的个人资料帖子
搜索个人资料帖子
VB.NET社区
登录
寄存器
什么是新的
搜索
搜索
仅搜索标题
通过:
新职位
搜索论坛
Menu
Log in
Register
安装应用
安装
首页
论坛
ASP.NET
ASP.NET一般讨论
同一查询多次触发EF
您正在使用过期的浏览器。它可能无法正确显示此网站或其他网站。
您应该升级或使用
替代浏览器
.
回复主题
信息
<blockquote data-quote ="Matthieu" data-source="post: 20939" data-attributes="member: 13031"><p>I'为网球运动员及其参加的比赛构建一个非常简单的CRUD Web应用程序(ASP.NET MVC)。</p><p>我要在特定页面上显示数据库中的所有锦标赛&福彩12选5走势图 with a title&福彩12选5走势图在页面顶部'All Tournaments'括号之间的记录量&福彩12选5走势图在数据库中。</p><p>我的cshtml看起来像这样:</p><p></p><p>[CODE = aspnet] @model System.Collections.Generic.IEnumerable< TMS.BL.Domain.Tournament></p><p></p><p>@{</p><p>&福彩12选5走势图 &福彩12选5走势图 ViewBag.Title ="All Tournaments";</p><p>&福彩12选5走势图 &福彩12选5走势图 Layout = "_Layout";</p><p>}</p><p>&福彩12选5走势图 &福彩12选5走势图 <h3>所有比赛(@ Model.Count())</h3></p><p>&福彩12选5走势图 &福彩12选5走势图 </p><p>&福彩12选5走势图 &福彩12选5走势图 @if(!@Model.Any())</p><p>{</p><p>&福彩12选5走势图 &福彩12选5走势图 <p>未找到比赛...</p></p><p>}</p><p>else</p><p>{</p><p>&福彩12选5走势图 &福彩12选5走势图 <table class="table"></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <thead></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <tr></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <th scope="col">Name</th></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <th scope="col">Starts</th></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <th scope="col">Ends</th></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <th scope="col">Org. Club</th></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <th scope="col"></th></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 </tr></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 </thead></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <tbody></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 @foreach(模型中的var t)</p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 {</p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <tr></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <td>@t.Name</td></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <td> @ t.StartDate.ToString("ddd, dd/MM/yyyy")</td></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <td> @ t.EndDate.ToString("ddd, dd/MM/yyyy")</td></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <td> @ t.OrganizingClub.Name(@ t.OrganizingClub.Province-@ t.OrganizingClub.Town)</td></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <td></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 <a asp-controller="Tournament" asp-action="Details" asp-route-id="@t.Id" class="n btn btn-primary btn-sm">Details</a></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 </td></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 </tr></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 }</p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 </tbody></p><p>&福彩12选5走势图 &福彩12选5走势图 </table></p><p>}</p><p>}</p><p>[/CODE]</p><p></p><p>该页面的控制器是TournamentController。该控制器正在使用包含dbcontext的Manager对象。 GetAllTournamentsWithOrgClubAndParticipants()方法返回一个IEnumerable的锦标赛对象(包括俱乐部和pariticpant,但对我而言,这并不重要)。</p><p></p><p>[CODE=csharp]&福彩12选5走势图 &福彩12选5走势图公共类TournamentController:控制器</p><p>&福彩12选5走势图 &福彩12选5走势图 {</p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图私人IManager _mgr;</p><p></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图公共TournamentController(IManager管理器)</p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 {</p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 _mgr =经理;</p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 }</p><p></p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图公共IActionResult Index()</p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 {</p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图返回View(_mgr.GetAllTournamentsWithOrgClubAndParticipants());</p><p>&福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 &福彩12选5走势图 }[/CODE]</p><p></p><p>加载页面时,我看到同一查询被触发3次。一次用于网页标题中的@ Model.Count(),一次用于&福彩12选5走势图 @ Model.Any()确定是否显示该表,并在foreach循环中一次。现在我知道这是由于推迟执行而引起的,我可以通过在控制器类的GetAllTournamentsWithOrgClubAndParticipants()之后添加ToList()来解决此问题,但是我经常听到不使用ToList()方法,因为这样您可以加载所有内容进入记忆。但是我觉得这种情况 '还是比连续执行3次相同的查询更好,还是我错了?还有其他方法可以解决这个问题吗?</p><p></p><p>Thank you very much!</p></blockquote><p></p>
Insert quotes…
验证
发表回复
首页
论坛
ASP.NET
ASP.NET一般讨论
同一查询多次触发EF
本网站使用Cookie来帮助个性化内容,调整您的体验并在注册时保持登录状态。
继续使用本网站,即表示您同意我们使用cookie。
接受
了解更多…
最佳
底部