次の特定の場合や一般的にasp.net mvc 2アクションの実行中にデータベースへの往復回数を減らすことはできますか? 私はlinq-to-sqlを使用しています。 次のコードの結果は、データベースに60回の往復を要する60回の選択となります。どのようにして往復回数を減らすことができますか?往復回数を減らす - linq-to-sql
私のコードがさらに必要な場合は、投稿します。
マイビューモデル:
public class ArticlesContainerViewModel
{
public ArticlesContainerViewModel()
{
}
public Article CategoryArticle { get; set; }
public IList<ArticlesNode> CategoryNodes { get; set; }
}
public class ArticlesNode
{
public Article NodeArticle { get; set; }
public IQueryable<Article> NodeItems { get; set; }
}
ビュー:あなたは私に尋ねると、私はModel
のタイプがタイプIList<ArticlesContainerViewModel>
かであることを推測する場合
<ul class="tabs">
<% foreach (var category in Model)
{ %>
<li><a href="#" class="s">
<%= Html.Encode(category.CategoryArticle.AbbreviatedTitle) %></a></li>
<% } %>
</ul>
<!-- tab "panes" -->
<div class="panes">
<% foreach (var category in Model)
{
%>
<div>
<table style="width: 100%;" cellpadding="0" cellspacing="0">
<% int counter = 0; foreach (var node in category.CategoryNodes)
{
%>
<%if (counter % 2 == 0)
{ %>
<tr>
<%} %>
<td class="content-container">
<div class="index-node-title">
<%= Html.Encode(node.NodeArticle.ArticleTitle)%> <span class="small1 darkGrey2">(<%= Html.Encode(node.NodeItems.Count().ToString())%>)</span>
</div>
<div class="index-node-content">
<ul class="index-node-content-list">
<% foreach (var item in node.NodeItems.Take(2))
ありがとう、それを試してみましょう、物事を行うより効率的な方法のように思える... – user560498
+1よく@トーマス –