Вы уже настроили контекст / хранилище базы данных для связи с базой данных в вашем проекте MVC?Ниже я предполагаю, что у вас есть контекст базы данных с именем dbContext.
Примечание. Если вы не используете Razor, замените «@» на «<%» и закройте на «%>"
Вы можете поместить элемент либо в ViewBag, либо в Model (я предпочитаю Model), как показано ниже.Я не уверен, что вы хотите сделать с этими подсчетами, поэтому я поместил их в список.Вам понадобится класс для размещения информации о ваших впечатлениях, я добавил ее ниже:
Код модели:
public class MyModel
{
public class ImpressionInfo //just used to store your results sub class of the model
{
public ImpressionInfo(id, impression, diaryImpressionCount)
{
Id = id;
Impression = impression;
DiaryImpressionCount = diaryImpressionCount
}
public int Id { get; set; }
public int Impression { get; set; } //is this an int? you didn't say
public int DiaryImpressionCount { get; set; }
}
public MyModel()
{
var impressionInfo = new List<ImpressionInfo>()
foreach (var di in dbContext.DiaryImpressions)
{
ImpressionInfos.Add(new ImpressionInfo(
di.Id,
di.Impression,
dbContext.DiaryPosts
.Count(dp => dp.ImpressionsId == di.ID));
}
}
public List<ImpressionInfo> ImpressionInfos { get; set; }
, затем в виде
Просмотр кода:
@model MyModel
@if(Model.ImpressionInfos.Count > 0)
{
<table>
<tr>
<td>Impression</td>
<td>Count</td>
</tr>
foreach (var i in Model.ImpressionInfos)
{
<tr>
<td>@i.Impression</td>
<td>@i.DiaryImpressionCount</td>
</tr>
}
}
else
{
<p>No Impression infos</p>
}
Надеюсь, это поможет.