2017-10-12 12 views
0

ASP.NET MVC에 새로운 기능이 있습니다. 내 데이터베이스에는 "tbl_Project"및 "tbl_Note"라는 테이블이 2 개 있습니다. 각 프로젝트는 하나 이상의 노트를 가질 수 있으므로 "tbl_Note"에 "ProjectID"변수를 유지/저장합니다.ASP.NET MVC - 합계 및 합계보기로 총 값을 계산하는 방법

내가 원하는 작업 : 프로젝트 목록이있는 페이지에서 각 프로젝트의 총 메모 수를 표시하려고합니다. 나는 몇 가지 시도를했지만 실패했습니다.

이 내 프로젝트 목록 페이지입니다 : 나는 이런 식으로 뭔가를 시도했습니다

@if(Model.Any()) 
{ 
    <table class="table table-striped table-hover table-bordered" id="sample_editable_1"> 
     <thead> 
      <tr> 
       <th>Total Note</th> 
       <th>Project Name</th> 
       <th>Contract Start Date</th> 
       <th>Contract End Date</th> 
      </tr> 
     </thead> 
     @foreach (var item in Model) 
     { 
      <tbody> 
       <tr> 
        <td> 
         <!-- Total number of notes will come here --> 
        </td> 
        <td> 
         <p><a href="@Url.Action("Detail", "Project", new { ID = item.ID })" data-tooltip="@(item.Information != null? item.Information:"")">@item.ProjectName</a></p> 
        </td> 
        <td> 
         @item.ContractStartDate.Value.ToString("dd.MM.yyyy"); 
        </td> 
        <td> 
         @item.ContractEndDate.Value.ToString("dd.MM.yyyy"); 
        </td> 
       </tr> 
      </tbody> 
     } 
    </table> 
} 
else 
{ 
    <p>Project is not available!</p> 
} 

그러나 그것은 작동하지 않습니다 :

@if(item.tbl_Note != null) 
{ 
    if(item.tbl_Note.ProjectID == Model.ProjectID) 
    { 
     @Model.Sum(b => b.tbl_Note.ProjectID.Count) 
    } 
} 

이 줄에 오류가 있습니다 : item.tbl_Note.ProjectID과 오류 : 'ICollection'에 'ProjectID 및 확장 메서드 없음'에 대한 정의가 없습니다. 'ICollection'유형의 첫 번째 인수를 수락하는 'ProjectID'를 찾을 수 있습니다.

어떻게 총 메모 수를 계산할 수 있습니까? 그리고 삽입하려는 다른 코드 블록이 있으면 알려주십시오.

+0

안녕하세요 당신은) (item.tbl_Note.count @ 시도 할 수 있습니다; –

+0

외래 키가 있으면 문제를 해결할 수 있지만 NULL 확인도 한 번해야합니다. –

+0

감사합니다. 효과가 있습니다. –

답변

0

오류에 따르면 item.tbl_NoteICollection<T> 유형이며 ProjectID 속성을 찾고 있습니다.

변경 그것을 :

@if(item.tbl_Note != null) 
{ 
    @item.tbl_Note.Count 
} 
+0

고마워요. 효과가 있습니다. –